Appendix a, Programming watchdog timer – Lanner LEC-7105 User Manual
Page 27

27
Programming Watchdog Timer
Embedded and Industrial Computing
Appendix A
void set_bypass_disable_when_system_off(unsigned long
pair_no)
{
int reg_no, ldn_no;
unsigned char bit_mask;
unsigned char en_data;
unsigned char tmp;
reg_no=ldn_no=bit_mask=en_data=tmp=0;
switch(pair_no) {
case BYPASS_PAIR_1:
ldn_no = OFFMODE_BYPASS_
PAIR1_LDN;
reg_no = OFFMODE_BYPASS_
PAIR1_REG;
bit_mask = OFFMODE_BYPASS_
PAIR1_BIT;
en_data = OFFMODE_BYPASS_
PAIR1_DISABLE;
break;
case BYPASS_PAIR_2:
ldn_no = OFFMODE_BYPASS_
PAIR2_LDN;
reg_no = OFFMODE_BYPASS_
PAIR2_REG;
bit_mask = OFFMODE_BYPASS_
PAIR2_BIT;
en_data = OFFMODE_BYPASS_
PAIR2_DISABLE;
break;
default:
/*un-support pair no, return */
return;
}
tmp=read_w83627_reg(ldn_no, reg_no);
tmp &= ~(bit_mask) ;
tmp |= en_data;
write_w83627_reg(ldn_no, reg_no, tmp);
return;
}
void set_runtime_bypass_enable(unsigned long pair_no)
{
int reg_no, ldn_no;
unsigned char tmp, bit_mask, en_data;
reg_no=ldn_no=bit_mask=en_data=tmp=0;
/* Note: To sete runtime bypass mode, user need to set off-
mode bypass
* enabled in order to let function activity.
*/
set_bypass_enable_when_system_off(pair_no);
switch(pair_no) {
case BYPASS_PAIR_1:
ldn_no = RUNTIME_BYPASS_
PAIR1_LDN;
reg_no = RUNTIME_BYPASS_
PAIR1_REG;
bit_mask = RUNTIME_BYPASS_PAIR1_BIT;
en_data = RUNTIME_BYPASS_PAIR1_ENABLE;
break;
case BYPASS_PAIR_2:
ldn_no = RUNTIME_BYPASS_
PAIR2_LDN;
reg_no = RUNTIME_BYPASS_
PAIR2_REG;
bit_mask = RUNTIME_BYPASS_PAIR2_BIT;
en_data = RUNTIME_BYPASS_PAIR2_ENABLE;
break;
default:
/*un-support pair no, return */
return;
}
tmp=read_w83627_reg(ldn_no, reg_no);
tmp &= ~(bit_mask) ;
tmp |= en_data;
write_w83627_reg(ldn_no, reg_no, tmp);