/Designs/MRAKOMER3/SW/irmrak3.PJT
34,7 → 34,8
1=C:\Users\locadmin\Documents\MLAB\Designs\MRAKOMER3\SW\irmrak3.c
2=C:\Users\locadmin\Documents\MLAB\Designs\MRAKOMER3\SW\irmrak3.h
3=C:\Program Files\PICC\devices\16F88.h
4=
4=C:\Users\locadmin\Documents\MLAB\Designs\MRAKOMER3\SW\irmrak3.lst
5=
[Units]
Count=1
1=C:\Users\locadmin\Documents\MLAB\Designs\MRAKOMER3\SW\irmrak3.c (main)
/Designs/MRAKOMER3/SW/irmrak3.c
10,9 → 10,27
#define HEATING PIN_A2 // Heating for defrosting
#define MAXHEAT 60 // Number of cycles for heating
 
char VER[4]=VERSION;
char REV[50]=ID;
char VER[4]=VERSION;
char REV[50]=ID;
 
int8 heat;
 
#INT_RDA
rs232_handler()
{
char ch;
 
if (getc()=='h')
{
heat=0; // Need warmer
}
else
{
heat=MAXHEAT; // Stop heating
}
}
 
 
unsigned char PEC_calculation(unsigned char pec[]) // CRC calculation
{
unsigned char crc[6];
89,6 → 107,7
int8 crc; // Readed CRC
int16 temp; // Readed temperature
 
disable_interrupts(GLOBAL);
i2c_stop();
i2c_start();
i2c_write(addr);
100,6 → 119,7
temp=MAKE16(arr[1],arr[2]);
crc=i2c_read(0); //crc
i2c_stop();
enable_interrupts(GLOBAL);
 
arr[5]=addr;
arr[4]=RAM_Access|select;
114,7 → 134,6
{
unsigned int16 n, temp, tempa;
signed int16 ta, to;
int8 i;
 
output_low(HEATING); // Heating off
setup_wdt(WDT_2304MS); // Setup Watch Dog
134,17 → 153,15
temp=ReadTemp(SA, RAM_Tobj1);
 
n=0;
i=MAXHEAT;
heat=MAXHEAT;
enable_interrupts(GLOBAL);
enable_interrupts(INT_RDA);
 
while(TRUE)
{
n++;
 
if (kbhit()) // Would you like warmer?
{
getc(); i=0;
}
 
tempa=ReadTemp(SA, RAM_Tamb); // Read temperatures from sensor
temp=ReadTemp(SA, RAM_Tobj1);
 
159,7 → 176,7
ta=(signed int16)(tempa*2-27315)/100;
 
printf("%Lu;ta:%Ld;ts:%Ld;sta:",n,ta,to);
if (i>=MAXHEAT)
if (heat>=MAXHEAT)
{
printf("0\n\r");
output_low(HEATING);
168,7 → 185,7
{
printf("1\n\r");
output_high(HEATING);
i++;
heat++;
}
};
restart_wdt();
/Designs/MRAKOMER3/SW/irmrak3.h
15,6 → 15,6
#FUSES NOIESO //Internal External Switch Over mode disabled
 
#use delay(clock=4000000)
#use rs232(baud=2400,parity=N,xmit=PIN_B5,rcv=PIN_B2,bits=8,FORCE_SW)
#use rs232(baud=2400,parity=N,xmit=PIN_B5,rcv=PIN_B2,bits=8)//,FORCE_SW)
#use i2c(MASTER,SLOW,sda=PIN_B1,scl=PIN_B4,SMBUS)