📄 module.c
字号:
case DATA_MKCFG:
value = Krmk[module].mk_cfg[index];
// SPut(eeprom_addr, value);
break;
case DATA_DI: break;
case DATA_ALM: break;
default: break;
}
break;
case MODULE_COMMK:
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG:
value = Commk[module].mk_cfg[index];
// SPut(eeprom_addr, value);
switch (index)
{
//case 0: ComSetBaud(module, value); break;
//case 1: ComSetParity(module, value); break;
}
break;
case DATA_ALM: break;
default: break;
}
break;
default:
value = 0;
break;
}
}
/*****************************************************************************/
int GetEepromAddr(uchar type, uchar index, uchar module)
{
int addr_base, addr_offset;
switch (type & MASK_MODULE)
{
case MODULE_JKMK:
addr_base = ADDR_JKMK;
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG:
// addr_offset = FAR (&Jkmk.mk_cfg[index]) - FAR (&Jkmk);
// addr_offset <<= 1;
addr_offset = 0 + index*2;
break;
case DATA_AICFG:
// addr_offset = FAR (&Jkmk.ai_cfg[index]) - FAR (&Jkmk);
// addr_offset <<= 1;
addr_offset = JK_ADDR_AICFG + index*2;
break;
case DATA_AOCFG:
// addr_offset = FAR (&Jkmk.ao_cfg[index]) - FAR (&Jkmk);
// addr_offset <<= 1;
addr_offset = JK_ADDR_AOCFG + index*2;
break;
case DATA_ALMCFG:
// addr_offset = FAR (&Jkmk.alm_cfg[index]) - FAR (&Jkmk);
// addr_offset <<= 1;
addr_offset = JK_ADDR_ALMCFG + index*2;
break;
case DATA_TMCFG:
// addr_offset = FAR (&Jkmk.tm_cfg[index]) - FAR (&Jkmk);
// addr_offset <<= 1;
addr_offset = JK_ADDR_TMCFG + index*2;
break;
case DATA_TM:
// addr_offset = FAR (&Jkmk.tm_v[index]) - FAR (&Jkmk);
// addr_offset <<= 1;
addr_offset = JK_ADDR_TMV + index*2;
break;
case DATA_DICFG:
// addr_offset = FAR (&Jkmk.di_cfg[index]) - FAR (&Jkmk);
// value = SGetB(eeprom_addr);
addr_offset = JK_ADDR_DICFG + index;
break;
case DATA_DOCFG:
// addr_offset = FAR (&Jkmk.do_cfg[index]) - FAR (&Jkmk);
// value = SGetB(eeprom_addr);
addr_offset = JK_ADDR_DOCFG +index;
break;
case DATA_ALMMAP:
// addr_offset = FAR (&Jkmk.alm_map[index]) - FAR (&Jkmk);
// value = SGetB(eeprom_addr);
addr_offset = JK_ADDR_ALMMAP + index;
break;
/*
case DATA_TEMP: break;
case DATA_AI: break;
case DATA_AO: break;
case DATA_DI: break;
case DATA_DO: break;
case DATA_ALM: break;
*/
default: break;
}
break;
case MODULE_CDMK:
addr_base = ADDR_CDMK + SIZE_CDMK*module;
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG:
// addr_offset = FAR (&Cdmk[module].mk_cfg[index]) - FAR (&Cdmk[module].mk_cfg[0]);
// addr_offset <<= 1;
addr_offset = index*2;
break;
/*
case DATA_AI: break;
case DATA_AO: break;
case DATA_DI: break;
case DATA_ALM: break;
*/
default: break;
}
break;
case MODULE_JYMK:
addr_base = ADDR_JYMK + SIZE_JYMK*module;
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG:
// addr_offset = FAR (&Jymk[module].mk_cfg[index]) - FAR (&Jymk[module]);
// addr_offset <<= 1;
addr_offset = index*2;
break;
case DATA_AI: break;
case DATA_ALM: break;
default: break;
}
break;
case MODULE_DDMK:
addr_base = ADDR_DDMK + SIZE_DDMK*module;
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG:
// addr_offset = FAR (&Ddmk[module].mk_cfg[index]) - FAR (&Ddmk[module]);
// addr_offset <<= 1;
addr_offset = index*2;
break;
case DATA_AI: break;
case DATA_ALM: break;
default: break;
}
break;
case MODULE_KRMK:
addr_base = ADDR_KRMK + SIZE_KRMK*module;
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG:
// addr_offset = FAR (&Krmk[module].mk_cfg[index]) - FAR (&Krmk[module]);
// addr_offset <<= 1;
addr_offset = index*2;
break;
case DATA_DI: break;
case DATA_ALM: break;
default: break;
}
break;
case MODULE_COMMK:
addr_base = ADDR_COMMK + SIZE_COMMK*module;
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG:
// addr_offset = FAR (&Commk[module].mk_cfg[index]) - FAR (&Commk[module]);
// addr_offset <<= 1;
addr_offset = index*2;
break;
case DATA_ALM: break;
default: break;
}
break;
default:
break;
}
return addr_base + addr_offset;
}
/*****************************************************************************/
void SetModuleData(uchar type, uchar index, uchar module, int value)
{
switch (type & MASK_MODULE)
{
case MODULE_JKMK:
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG: Jkmk.mk_cfg[index] = value;
switch (index)
{
case 8:
if (value == 0)
{
// SetChargeStep(0);
}
// SetVoltaget();
break;
case 6:
case 7:
if (Jkmk.mk_cfg[7] < Jkmk.mk_cfg[6])
{
Jkmk.mk_cfg[7] = Jkmk.mk_cfg[6];
}
// SetVoltaget();
break;
case 10:
case 30:
// TranOutI();
break;
}
break;
case DATA_AICFG: Jkmk.ai_cfg[index] = value; break;
case DATA_AOCFG:
Jkmk.ao_cfg[index] = value;
switch (index)
{
// case 0: SetVoltaget(); break;
// case 1: LimitCurrent(); break;
}
break;
case DATA_ALMCFG: Jkmk.alm_cfg[index] = value;break;
case DATA_TMCFG: Jkmk.tm_cfg[index] = value; break;
case DATA_DICFG: Jkmk.di_cfg[index] = value; break;
case DATA_DOCFG: Jkmk.do_cfg[index] = value; break;
case DATA_ALMMAP: Jkmk.alm_map[index] = value; break;
case DATA_TEMP:
Jkmk.temp[index] = value;
switch (index)
{
case 28://禁止允许
if (value == 0)
{
Jkmk.temp[24] = 0;
Jkmk.temp[26] = 0;
}
break;
// case 25: SetChargeStep(value); break;
case 24://自动手动
if (Jkmk.temp[28] == 0)
{
Jkmk.temp[index] = 0;
MsgBox("系统信息", "禁止操作", MB_OK);
}
else
{
if (value == 1)
{
//fuchong
// SetChargeStep(0);
// SetVoltaget();
}
else
{
if (value == 0)
{
//fuchong
// SetChargeStep(0);
}
else
{
//junchong
// SetChargeStep(2);
}
// SetVoltaget();
}
}
break;
case 26://浮充均充
if ((Jkmk.temp[28] == 1) && (Jkmk.temp[24] == 1))
{
//手动调节
if (value == 0)
{
//fuchong
// SetChargeStep(0);
}
else
{
//junchong
// SetChargeStep(2);
}
// SetVoltaget();
}
else
{
MsgBox("系统信息", "禁止操作", MB_OK);
Jkmk.temp[index] = 0;
}
break;
}//switch (index)
break;
case DATA_AI: Jkmk.ai_v[index] = value; break;
case DATA_AO: Jkmk.ao_v[index] = value; break;
case DATA_DI: Jkmk.di_v[index] = value; break;
case DATA_DO:
Jkmk.do_v[index] = value;
if (Jkmk.do_v[index])
{
// HardOut(index, 1);
}
else
{
// HardOut(index, 0);
}
break;
case DATA_ALM: Jkmk.alm_v[index] = value; break;
case DATA_ALMOUT: Jkmk.alm_out[index] = value; break;
case DATA_TM: Jkmk.tm_v[index] = value; break;
default: break;
}
break;
case MODULE_CDMK:
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG:
if ((index < 3) || (8 == index))
{
Cdmk[module].mk_cfg[index] = value;
//nothing
}
else
{
if (Cdmk[module].mk_cfg[8] && Jkmk.temp[28])
{
Cdmk[module].mk_cfg[index] = value;
switch (index)
{
// case 3: SetCdmk(module, 0x1601); break;
// case 4: SetCdmk(module, 0x1602); break;
}
}
else
{
if (Jkmk.temp[28] == 0)
{
MsgBox("系统信息", "自动方式,禁止操作", MB_OK);
}
else
{
MsgBox("系统信息", "禁止操作", MB_OK);
}
}
}
break;
case DATA_AI: Cdmk[module].ai_v[index] = value; break;
case DATA_AO:
if (Cdmk[module].mk_cfg[8])
{
Cdmk[module].ao_v[index] = value;
switch (index)
{
// case 0:SetCdmk(module, 0x1A07); break;
// case 1:SetCdmk(module, 0x1A01); break;
}
}
else
{
MsgBox("系统信息", "禁止操作", MB_OK);
}
break;
case DATA_DI: Cdmk[module].di_v[index] = value; break;
case DATA_DO:
if (Cdmk[module].mk_cfg[8])
{
Cdmk[module].do_v[index] = value;
// SetCdmk(module, 0x1A04);
}
else
{
MsgBox("系统信息", "禁止操作", MB_OK);
}
break;
case DATA_ALM: Cdmk[module].alm_v[index] = value; break;
default: break;
}
break;
case MODULE_JYMK:
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG:
Jymk[module].mk_cfg[index] = value;
switch (index)
{
case 4:
// TranJymkAlarmLimit();
break;
default: break;
}
break;
case DATA_AI: Jymk[module].ai_v[index] = value; break;
case DATA_ALM: Jymk[module].alm_v[index] = value; break;
default: break;
}
break;
case MODULE_DDMK:
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG: Ddmk[module].mk_cfg[index] = value; break;
case DATA_AI: Ddmk[module].ai_v[index] = value; break;
case DATA_ALM: Ddmk[module].alm_v[index] = value; break;
default: break;
}
break;
case MODULE_KRMK:
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG: Krmk[module].mk_cfg[index] = value; break;
case DATA_DI: Krmk[module].di_v[index] = value; break;
case DATA_ALM: Krmk[module].alm_v[index] = value; break;
default: break;
}
break;
case MODULE_COMMK:
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG: Commk[module].mk_cfg[index] = value;break;
case DATA_ALM: Commk[module].alm_v[index] = value; break;
default: break;
}
break;
default:
value = 0;
break;
}
}
/*****************************************************************************/
int GetModuleData(uchar type, uchar index, uchar module)
{
int value;
switch (type & MASK_MODULE)
{
case MODULE_JKMK:
switch (type & MASK_DATA_TYPE)
{
case DATA_AI: value = Jkmk.ai_v[index]; break;
case DATA_AO: value = Jkmk.ao_v[index]; break;
case DATA_DI: value = Jkmk.di_v[index]; break;
case DATA_DO: value = Jkmk.do_v[index]; break;
case DATA_ALM: value = Jkmk.alm_v[index]; break;
case DATA_ALMOUT: value = Jkmk.alm_out[index]; break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -