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

Page 27

Advertising
background image

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);

Advertising