Problem with comparison.
/Modules/TDC/GP201A/SW/PICinterface/GP2.c
0,0 → 1,198
 
//struct {
unsigned int8 firenum=TDC_FIRENUM_0;
unsigned int8 div_fire=TDC_DIV_FIRE_2;
unsigned int8 calresnum=TDC_CALPERIODS_2;
unsigned int8 clkhsdiv=TDC_CLKHSDIV_1;
unsigned int8 start_clkhs=TDC_CLKHS_ON;
unsigned int1 portnum=TDC_TPORTNUM_4;
unsigned int1 Tcycle=TDC_TCYCLE_SHORT;
unsigned int1 fakenum=TDC_TFAKENUM_2;
unsigned int1 selclkT=TDC_TSELCLK_128HS;
unsigned int1 calibrate=TDC_CALIBRATE_EN;
unsigned int1 disautocal=TDC_AUTOCAL_EN;
unsigned int1 MRange=TDC_MRANGE2;
unsigned int1 neg_stop2=TDC_NEG_STOP2;
unsigned int1 neg_stop1=TDC_NEG_STOP1;
unsigned int1 neg_start=TDC_NEG_START;
//}reg0;
 
//struct {
unsigned int hit2=TDC_MRANGE1_HIT2_NOAC;
unsigned int hit1=TDC_MRANGE1_HIT1_NOAC;
unsigned int1 fast_init=TDC_FAST_INIT_DIS;
unsigned int hitin2=TDC_HITIN2_0;
unsigned int hitin1=TDC_HITIN1_0;
//}reg1;
 
//struct {
unsigned int en_int=TDC_INT_ALU;
unsigned int1 rfedge2=TDC_CH2EDGE_RIS;
unsigned int1 rfedge1=TDC_CH1EDGE_RIS;
unsigned int32 delval1=0;
//}reg2;
 
//struct {
unsigned int1 en_err_val=TDC_ERRVAL_DIS;
unsigned int tim0_mr2=TDC_TIM0MR2_16384CLKHS;
unsigned int32 delval2=0;
//}reg3;
 
//reg4
unsigned int32 delval3=0;
 
//reg5
unsigned int conf_fire=0;
unsigned int1 en_startnoise=TDC_STARTNOISE_DIS;
unsigned int1 dis_phasenoise=TDC_PHASENOISE_DIS;
unsigned int repeat_fire=TDC_REPEAT_FIRE_0;
unsigned int16 phase_fire;
 
//}TDC_registers;
 
 
void TDC_init()
{
output_low(TDC_ENABLE);
spi_xfer(TDC_stream,0x70,8);
output_high(TDC_ENABLE);
}
 
void TDC_reset()
{
output_low(TDC_ENABLE);
spi_xfer(TDC_stream,0x50,8);
output_high(TDC_ENABLE);
}
 
void TDC_start_cycle()
{
output_low(TDC_ENABLE);
spi_xfer(TDC_stream,0x01,8);
output_high(TDC_ENABLE);
}
 
void TDC_start_temp()
{
output_low(TDC_ENABLE);
spi_xfer(TDC_stream,0x02,8);
output_high(TDC_ENABLE);
}
 
void TDC_start_cal_resonator()
{
output_low(TDC_ENABLE);
spi_xfer(TDC_stream,0x03,8);
output_high(TDC_ENABLE);
}
 
void TDC_start_cal()
{
output_low(TDC_ENABLE);
spi_xfer(TDC_stream,0x04,8);
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()
{
//update reg0
output_low(TDC_ENABLE);
spi_xfer(TDC_stream,0x80,8);
spi_xfer(TDC_stream,firenum,4);
spi_xfer(TDC_stream,div_fire,4);
spi_xfer(TDC_stream,calresnum,2);
spi_xfer(TDC_stream,clkhsdiv,2);
spi_xfer(TDC_stream,start_clkhs,2);
spi_xfer(TDC_stream,portnum,1);
spi_xfer(TDC_stream,Tcycle,1);
spi_xfer(TDC_stream,fakenum,1);
spi_xfer(TDC_stream,selclkT,1);
spi_xfer(TDC_stream,calibrate,1);
spi_xfer(TDC_stream,disautocal,1);
spi_xfer(TDC_stream,MRange,1);
spi_xfer(TDC_stream,neg_stop2,1);
spi_xfer(TDC_stream,neg_stop1,1);
spi_xfer(TDC_stream,neg_start,1);
output_high(TDC_ENABLE);
 
// update reg1
output_low(TDC_ENABLE);
spi_xfer(TDC_stream,0x81,8);
spi_xfer(TDC_stream,hit2,4);
spi_xfer(TDC_stream,hit1,4);
spi_xfer(TDC_stream,fast_init,1);
spi_xfer(TDC_stream,1,1);
spi_xfer(TDC_stream,hitin2,3);
spi_xfer(TDC_stream,hitin1,3);
spi_xfer(TDC_stream,0,8);
output_high(TDC_ENABLE);
 
// update reg2
output_low(TDC_ENABLE);
spi_xfer(TDC_stream,0x82);
spi_xfer(TDC_stream,en_int,3);
spi_xfer(TDC_stream,rfedge2,1);
spi_xfer(TDC_stream,rfedge1,1);
spi_xfer(TDC_stream,delval1,19);
output_high(TDC_ENABLE);
 
// update reg3
output_low(TDC_ENABLE);
spi_xfer(TDC_stream,0x83);
spi_xfer(TDC_stream,0,2);
spi_xfer(TDC_stream,en_err_val,1);
spi_xfer(TDC_stream,tim0_mr2,2);
spi_xfer(TDC_stream,delval2,19);
output_high(TDC_ENABLE);
 
// update reg4
output_low(TDC_ENABLE);
spi_xfer(TDC_stream,0x84);
spi_xfer(TDC_stream,0b00100,5);
spi_xfer(TDC_stream,delval3,19);
output_high(TDC_ENABLE);
 
// update reg5
output_low(TDC_ENABLE);
spi_xfer(TDC_stream,0x85);
spi_xfer(TDC_stream,conf_fire,3);
spi_xfer(TDC_stream,en_startnoise,1);
spi_xfer(TDC_stream,dis_phasenoise,1);
spi_xfer(TDC_stream,repeat_fire,3);
spi_xfer(TDC_stream,phase_fire,16);
output_high(TDC_ENABLE);
}
 
/Modules/TDC/GP201A/SW/PICinterface/main.c
0,0 → 1,90
#include "main.h"
 
#include "GP2.h"
 
#define VERSION 0.1
 
#define START PIN_D4
#define STOP1 PIN_D5
#define STOP2 PIN_D6
 
void main()
{
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_CLOCK_DIV_2);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_ccp1(CCP_OFF);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
 
TDC_reset();
hit1=TDC_MRANGE2_HIT1_START;
hit2=TDC_MRANGE2_HIT2_2CH1;
hitin1=TDC_HITIN1_2;
hitin2=TDC_HITIN1_0;
en_int= 0xFF; //TDC_INT_ALU | TDC_INT_ENDHIT | TDC_INT_TIMEOUT;
en_err_val=TDC_ERRVAL_EN;
delval1=0x0;
delval2=0x0;
delval3=0x0;
TDC_update_registers();
output_low(START);
output_low(STOP1);
output_low(STOP2);
TDC_start_cal();
delay_ms(50);
while(true)
{
 
/* delay_ms(500);
hit2=0x00;
hit1=0x00;
TDC_update_registers();
printf("reg1: %X \n", TDC_get_reg1());
 
TDC_reset();
delay_ms(50);
printf("reg1: %X \n", TDC_get_reg1());
*/
TDC_init();
delay_ms(50);
printf("status: %LX \n", TDC_get_status());
delay_us(10);
TDC_start_cycle();
delay_us(10);
output_high(START);
delay_us(1);
output_low(START);
delay_us(500);
output_high(STOP1);
delay_us(10);
output_low(STOP1);
delay_us(500);
output_high(STOP1);
delay_us(10);
output_low(STOP1);
delay_us(500);
output_high(STOP1);
delay_us(10);
output_low(STOP1);
 
delay_ms(100);
printf("status: %LX \n", TDC_get_status());
delay_ms(50);
printf("measured: %LX, %LX, %LX, %LX \n", TDC_get_measurement(1), TDC_get_measurement(2), TDC_get_measurement(3), TDC_get_measurement(4));
delay_ms(500);
};
}
/Modules/TDC/GP201A/SW/PICinterface/main.hex
0,0 → 1,149
:10000000C9EF02F07374617475733A20254C58205F
:100010000A007374617475733A20254C58200A00E5
:100020006D656173757265643A20254C582C2025E6
:100030004C582C20254C582C20254C58200A0000C8
:100040003750200807E0386E3336343635363636CA
:10005000382EFAD79382939093948A9437C038F0CD
:100060008A8436AE8A9036BE8A8033363436353648
:1000700036368A94003601360236033681A2009065
:1000800081B20080382EECD7000C93968A96366A9F
:10009000356A346A500E336E080E376ED1DF939690
:1000A0008A8631EF03F093968A96366A356A346A07
:1000B000800E336E080E376EC3DF366A356A346AD7
:1000C00004C033F0040E376EBBDF366A356A346A1B
:1000D00005C033F0040E376EB3DF366A356A346A12
:1000E00006C033F0020E376EABDF366A356A346A0B
:1000F00007C033F0020E376EA3DF366A356A346A02
:1001000008C033F0020E376E9BDF000E09B0010EFF
:10011000366A356A346A336E010E376E91DF000E2F
:1001200009B2010E366A356A346A336E010E376ED3
:1001300087DF000E09B4010E366A356A346A336E01
:10014000010E376E7DDF000E09B6010E366A356A84
:10015000346A336E010E376E73DF000E09B8010E7C
:10016000366A356A346A336E010E376E69DF000E07
:1001700009BA010E366A356A346A336E010E376E7B
:100180005FDF000E09BC010E366A356A346A336ED1
:10019000010E376E55DF000E09BE010E366A356A54
:1001A000346A336E010E376E4BDF000E0AB0010E5B
:1001B000366A356A346A336E010E376E41DF000EDF
:1001C0000AB2010E366A356A346A336E010E376E32
:1001D00037DF93968A8693968A96366A356A346AAA
:1001E000810E336E080E376E2BDF366A356A346A3D
:1001F0000BC033F0040E376E23DF366A356A346A7B
:100200000CC033F0040E376E1BDF000E0AB4010E73
:10021000366A356A346A336E010E376E11DF366A1C
:10022000356A346A010E336E376E0ADF366A356A14
:10023000346A0DC033F0030E376E02DF366A356A5A
:10024000346A0EC033F0030E376EFADE366A356A52
:10025000346A336A080E376EF3DE93968A86939675
:100260008A96366A356A346A820E336E200E376E8D
:10027000E7DE366A356A346A0FC033F0030E376E34
:10028000DFDE000E0AB6010E366A356A346A336E56
:10029000010E376ED5DE000E0AB8010E366A356AD9
:1002A000346A336E010E376ECBDE13C036F012C0E7
:1002B00035F011C034F010C033F0130E376EC0DECD
:1002C00093968A8693968A96366A356A346A830E3E
:1002D000336E200E376EB4DE366A356A346A336A9E
:1002E000020E376EADDE000E0ABA010E366A356AAE
:1002F000346A336E010E376EA3DE366A356A346AAD
:1003000014C033F0020E376E9BDE18C036F017C0F3
:1003100035F016C034F015C033F0130E376E90DE92
:1003200093968A8693968A96366A356A346A840EDC
:10033000336E200E376E84DE366A356A346A040EF8
:10034000336E050E376E7CDE1CC036F01BC035F0F8
:100350001AC034F019C033F0130E376E71DE939665
:100360008A8693968A96366A356A346A850E336E23
:10037000200E376E65DE366A356A346A1DC033F08A
:10038000030E376E5DDE000E0ABC010E366A356A5A
:10039000346A336E010E376E53DE000E0ABE010E54
:1003A000366A356A346A336E010E376E49DE366A54
:1003B000356A346A1EC033F0030E376E41DE366A8A
:1003C000356A20C034F01FC033F0100E376E38DEAF
:1003D00093968A8648EF03F093968A96366A356A32
:1003E000346A040E336E080E376E2ADE93968A86C0
:1003F0004FEF03F0EA6A220EE96EEF500DE0060EB1
:10040000016E006A002EFED7012EFBD77B0E006E18
:10041000002EFED7EF2EF3D7000C93968A96366AFD
:10042000356A346A700E336E080E376E09DE9396A5
:100430008A8653EF03F093968A96366A356A346A51
:10044000B40E336E080E376EFBDD366A356A346AD9
:10045000336A100E376EF4DD015001C022F000C087
:1004600021F093968A8621C001F022C002F0000C90
:10047000939E8A9E080E016E00D00000018E0ED061
:10048000019E3432D8B08A8ED8A08A9E018C06D0C4
:10049000019C012EF6D700D000008A8EA70EE96ECF
:1004A000E92EFED700D001BEEBD701BCF1D7000C7E
:1004B0000900F6CF32F0F7CF33F0F5CF34F0D8DFC4
:1004C00032C0F6FF33C0F7FF312EF2D7000C32BE38
:1004D0000FD00F0E006E313800160A0E005C03E2DA
:1004E000300E002602D03250002600C034F0C0DFAB
:1004F0000F0E31160A0E315C02E2300E02D0329E2F
:100500003250312631C034F0B3DF000C93968A9616
:10051000366A356A346A010E336E080E376E90DD26
:1005200093968A8678EF03F0030E225E09E3EA6A67
:10053000220EE96EEF5004E001D000D0EF2EFDD77F
:10054000000C93968A96B00E2D24FF0F326E366AF9
:10055000356A346A336E200E376E72DD366A356A5C
:10056000346A336A200E376E6BDD015003C031F000
:1005700002C030F001C02FF000C02EF093968A86A2
:100580002EC000F02FC001F030C002F031C003F0E7
:10059000000CF86AD09EEA6AE96A939E8A8E93827A
:1005A000939093948A94046A056A066A076A010E16
:1005B000086E09800992099409860988099A098CAC
:1005C000099E0A900A92050E0B6E0C6E0A940D6A33
:1005D0000E6A010E0F6E0A960A98136A126A116A61
:1005E000106A0A9A030E146E186A176A166A156A58
:1005F0001C6A1B6A1A6A196A1D6A0A9C0A8E1E6A9C
:10060000C150C00B0F09C16E070EB46EC150C00BB4
:100610000F09C16EC090C092C094C09EC2809698CF
:10062000C69A949E93809392010EC66E000EC76E7A
:10063000D190800ED56ECD6A000ECA6E000ECB6EC4
:100640009484BD6AB76AB66A070EB46E9250926E11
:10065000100E006E002EFED70000B450A19CB56AAB
:1006600014D5010E0C6E030E0B6E020E0E6E0D6A8B
:10067000FF0E0F6E0A8A136A126A116A106A186AEC
:10068000176A166A156A1C6A1B6A1A6A196A0BD5F8
:1006900095988C98959A8C9A959C8C9C9DD6320EA8
:1006A000226EA8DEBAD6320E226EA4DEC4DE02C0EE
:1006B00022F001C021F0040EF66E000EF76E080E57
:1006C000316EF6DE22C031F0370E326E00DF21C00F
:1006D00031F0370E326EFBDE200E346EC9DE0A0EAC
:1006E000346EC6DE100E006E002EFED700000ED750
:1006F000100E006E002EFED7000095988C8800D05A
:1007000000D0000095988C98020E216EF90E226E92
:100710000BDF212EFBD7959A8C8A100E006E002ECF
:10072000FED70000959A8C9A020E216EF90E226E69
:10073000FBDE212EFBD7959A8C8A100E006E002EC0
:10074000FED70000959A8C9A020E216EF90E226E49
:10075000EBDE212EFBD7959A8C8A100E006E002EB0
:10076000FED70000959A8C9A640E226E43DE63DEFB
:1007700002C022F001C021F0120EF66E000EF76EDC
:10078000080E316E95DE22C031F0370E326E9FDEDC
:1007900021C031F0370E326E9ADE200E346E68DEE4
:1007A0000A0E346E65DE320E226E24DE010E2D6ED0
:1007B000C8DE03C024F002C023F001C022F000C054
:1007C00021F0020E2D6EBDDE03C028F002C027F01E
:1007D00001C026F000C025F0030E2D6EB2DE03C06E
:1007E0002CF002C02BF001C02AF000C029F0040E4A
:1007F0002D6EA7DE03C030F002C02FF001C02EF036
:1008000000C02DF0200EF66E000EF76E0A0E316E4F
:100810004FDE24C031F0370E326E59DE23C031F086
:10082000370E326E54DE22C031F0370E326E4FDE9C
:1008300021C031F0370E326E4ADE2C0E346E18DED7
:10084000200E346E15DE28C031F0370E326E3FDEDA
:1008500027C031F0370E326E3ADE26C031F0370E47
:10086000326E35DE25C031F0370E326E30DE2C0EA2
:10087000346EFEDD200E346EFBDD2CC031F0370E01
:10088000326E25DE2BC031F0370E326E20DE2AC0EC
:1008900031F0370E326E1BDE29C031F0370E326E6A
:1008A00016DE2C0E346EE4DD200E346EE1DD30C039
:1008B00031F0370E326E0BDE2FC031F0370E326E54
:1008C00006DE2EC031F0370E326E01DE2DC031F063
:1008D000370E326EFCDD200E346ECADD0A0E346E29
:1008E000C7DD020E216EFA0E226E84DD212EFBD7AB
:0408F000D9D6030052
:020000040030CA
:0E00000027CC390E0087A1000FC00FE00F4083
:00000001FF
;PIC18F4550
;CRC=0D52 CREATED="02-1-11 23:48"
/Modules/TDC/GP201A/SW/PICinterface/GP2.h
0,0 → 1,152
 
 
//register 0
#define TDC_NEG_START_INV 1
#define TDC_NEG_START 0
#define TDC_NEG_STOP1_INV 1
#define TDC_NEG_STOP1 0
#define TDC_NEG_STOP2_INV 1
#define TDC_NEG_STOP2 0
#define TDC_MRANGE1 0
#define TDC_MRANGE2 1
#define TDC_AUTOCAL_EN 0
#define TDC_AUTOCAL_DIS 1
#define TDC_CALIBRATE_EN 1
#define TDC_CALIBRATE_DIS 0
#define TDC_TSELCLK_32KHZ 0
#define TDC_TSELCLK_128HS 1
#define TDC_TFAKENUM_2 0
#define TDC_TFAKENUM_7 1
#define TDC_TCYCLE_SHORT 0
#define TDC_TCYSLE_LONG 1
#define TDC_TPORTNUM_2 0
#define TDC_TPORTNUM_4 1
#define TDC_CLKHS_OFF 0
#define TDC_CLKHS_ON 1
#define TDC_CLKHS_640US 2
#define TDC_CLKHS_1280US 4
#define TDC_CLKHSDIV_1 0
#define TDC_CLKHSDIV_2 1
#define TDC_CLKHSDIV_4 2
#define TDC_CLKHSDIV_8 3
#define TDC_CALPERIODS_2 0
#define TDC_CALPERIODS_4 1
#define TDC_CALPERIODS_8 2
#define TDC_CALPERIODS_16 3
 
#define TDC_DIV_FIRE_2 0
#define TDC_DIV_FIRE_3 2
#define TDC_DIV_FIRE_4 3
#define TDC_DIV_FIRE_5 4
#define TDC_DIV_FIRE_6 5
#define TDC_DIV_FIRE_7 6
#define TDC_DIV_FIRE_8 7
#define TDC_DIV_FIRE_9 8
#define TDC_DIV_FIRE_10 9
#define TDC_DIV_FIRE_11 10
#define TDC_DIV_FIRE_12 11
#define TDC_DIV_FIRE_13 12
#define TDC_DIV_FIRE_14 13
#define TDC_DIV_FIRE_15 14
#define TDC_DIV_FIRE_16 15
 
#define TDC_FIRENUM_0 0
#define TDC_FIRENUM_1 1
#define TDC_FIRENUM_2 2
#define TDC_FIRENUM_3 3
#define TDC_FIRENUM_4 4
#define TDC_FIRENUM_5 5
#define TDC_FIRENUM_6 6
#define TDC_FIRENUM_7 7
#define TDC_FIRENUM_8 8
#define TDC_FIRENUM_9 9
#define TDC_FIRENUM_10 10
#define TDC_FIRENUM_11 11
#define TDC_FIRENUM_12 12
#define TDC_FIRENUM_13 13
#define TDC_FIRENUM_14 14
#define TDC_FIRENUM_15 15
 
//register 1
#define TDC_HITIN1_0 0
#define TDC_HITIN1_1 1
#define TDC_HITIN1_2 2
#define TDC_HITIN1_3 3
#define TDC_HITIN1_4 4
 
#define TDC_HITIN2_0 0
#define TDC_HITIN2_1 1
#define TDC_HITIN2_2 2
#define TDC_HITIN2_3 3
#define TDC_HITIN2_4 4
 
#define TDC_FAST_INIT_EN 1
#define TDC_FAST_INIT_DIS 0
 
#define TDC_MRANGE1_HIT1_START 0
#define TDC_MRANGE1_HIT1_1CH1 1
#define TDC_MRANGE1_HIT1_2CH1 2
#define TDC_MRANGE1_HIT1_3CH1 3
#define TDC_MRANGE1_HIT1_4CH1 4
#define TDC_MRANGE1_HIT1_NOAC 5
#define TDC_MRANGE1_HIT1_CAL1CH1 6
#define TDC_MRANGE1_HIT1_CAL2CH1 7
#define TDC_MRANGE1_HIT1_1CH2 9
#define TDC_MRANGE1_HIT1_2CH2 0xA
#define TDC_MRANGE1_HIT1_3CH2 0xB
#define TDC_MRANGE1_HIT1_4CH2 0xC
 
#define TDC_MRANGE2_HIT1_START 1
 
#define TDC_MRANGE1_HIT2_START 0
#define TDC_MRANGE1_HIT2_1CH1 1
#define TDC_MRANGE1_HIT2_2CH1 2
#define TDC_MRANGE1_HIT2_3CH1 3
#define TDC_MRANGE1_HIT2_4CH1 4
#define TDC_MRANGE1_HIT2_NOAC 5
#define TDC_MRANGE1_HIT2_CAL1CH1 6
#define TDC_MRANGE1_HIT2_CAL2CH1 7
#define TDC_MRANGE1_HIT2_1CH2 9
#define TDC_MRANGE1_HIT2_2CH2 0xA
#define TDC_MRANGE1_HIT2_3CH2 0xB
#define TDC_MRANGE1_HIT2_4CH2 0xC
 
#define TDC_MRANGE2_HIT2_1CH1 2
#define TDC_MRANGE2_HIT2_2CH1 3
#define TDC_MRANGE2_HIT2_3CH1 4
 
//register 2
#define TDC_INT_TIMEOUT 4
#define TDC_INT_ENDHIT 2
#define TDC_INT_ALU 1
#define TDC_CH1EDGE_RIS 0
#define TDC_CH1EDGE_FAL 1
#define TDC_CH2EDGE_RIS 0
#define TDC_CH2EDGE_FAL 1
 
//register 3
#define TDC_TIM0MR2_256CLKHS 0
#define TDC_TIM0MR2_1024CLKHS 1
#define TDC_TIM0MR2_4096CLKHS 2
#define TDC_TIM0MR2_16384CLKHS 3
 
#define TDC_ERRVAL_EN 1
#define TDC_ERRVAL_DIS 0
 
//register 5
#define TDC_REPEAT_FIRE_0 0
#define TDC_REPEAT_FIRE_1 1
#define TDC_REPEAT_FIRE_2 2
#define TDC_REPEAT_FIRE_3 3
#define TDC_REPEAT_FIRE_4 4
#define TDC_REPEAT_FIRE_5 5
#define TDC_REPEAT_FIRE_6 6
#define TDC_REPEAT_FIRE_7 7
 
#define TDC_PHASENOISE_EN 0
#define TDC_PHASENOISE_DIS 1
 
#define TDC_STARTNOISE_EN 1
#define TDC_STARTNOISE_DIS 0
 
#include "GP2.c"
/Modules/TDC/GP201A/SW/PICinterface/main.h
0,0 → 1,41
#include <18F4550.h>
#device adc=8
 
#FUSES NOWDT //No Watch Dog Timer
#FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale
#FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOBROWNOUT //No brownout reset
#FUSES BORV20 //Brownout reset at 2.0V
#FUSES NOPUT //No Power Up Timer
#FUSES NOCPD //No EE protection
#FUSES STVREN //Stack full/underflow will cause reset
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOWRT //Program memory not write protected
#FUSES NOWRTD //Data EEPROM not write protected
#FUSES IESO //Internal External Switch Over mode enabled
#FUSES FCMEN //Fail-safe clock monitor enabled
#FUSES PBADEN //PORTB pins are configured as analog input channels on RESET
#FUSES NOWRTC //configuration not registers write protected
#FUSES NOWRTB //Boot block not write protected
#FUSES NOEBTR //Memory not protected from table reads
#FUSES NOEBTRB //Boot block not protected from table reads
#FUSES NOCPB //No Boot Block code protection
#FUSES MCLR //Master Clear pin enabled
#FUSES LPT1OSC //Timer1 configured for low-power operation
#FUSES NOXINST //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
#FUSES PLL12 //Divide By 12(48MHz oscillator input)
#FUSES CPUDIV1 //System Clock by 1
#FUSES USBDIV //USB clock source comes from PLL divide by 2
#FUSES VREGEN //USB voltage regulator enabled
#FUSES ICPRT //ICPRT enabled
 
#use delay(clock=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_B7,rcv=PIN_B6,bits=8)
 
#define TDC_ENABLE PIN_B3 //enable pin for SPI communication with TDC
#use spi(DI=PIN_B1, DO=PIN_B0, CLK=PIN_B2, stream=TDC_stream, bits=32) // uses software SPI
 
 
 
/Modules/TDC/GP201A/SW/PICinterface/main.pjt
0,0 → 1,28
[PROJECT]
Target=C:\Users\kakl\Documents\MLAB\Modules\TDC\GP201A\SW\PICinterface\main.hex
Development_Mode=
Processor_Text=PIC18F4550
ToolSuite=CCS
Processor=0x4550
[C:\Users\kakl\Documents\MLAB\Modules\TDC\GP201A\SW\PICinterface\main]
Type=4
Path=
FileList=
BuildTool=
OptionString=
AdditionalOptionString=
[mru-list]
1=C:\Users\kakl\Documents\MLAB\Modules\TDC\GP201A\SW\PICinterface\main.c
[Windows]
0=0000 %S 0 0 796 451 3 0
[Units]
Link=0
Count=1
1=C:\Users\kakl\Documents\MLAB\Modules\TDC\GP201A\SW\PICinterface\main
[Opened Files]
1=main.c
2=main.h
3=..\..\..\..\..\..\..\..\..\Program Files\PICC\Devices\18F4550.h
4=GP2.c
5=GP2.h
6=