📄 module.c
字号:
}
}
/*****************************************************************************/
/* return 0 is null return 1 is one module*/
int GetModuleCount(uchar type)
{
int count = 0;
switch (type & MASK_MODULE)
{
case MODULE_JKMK:
count = 1;
break;
case MODULE_CDMK:
count = Jkmk.mk_cfg[51];
if (count > MAX_CDMK)
count = MAX_CDMK;
break;
case MODULE_JYMK:
count = Jkmk.mk_cfg[54];
if (count > MAX_JYMK)
count = MAX_JYMK;
break;
case MODULE_DDMK:
count = Jkmk.mk_cfg[53];
if (count > MAX_DDMK)
count = MAX_DDMK;
break;
case MODULE_KRMK:
count = Jkmk.mk_cfg[55];
if (count > MAX_KRMK)
count = MAX_KRMK;
break;
case MODULE_COMMK:
// count = Jkmk.mk_cfg[49];
count = MAX_SETUP_COMPORT;
if (count > MAX_COMMK)
count = MAX_COMMK;
break;
default:
count = 0;
break;
}
return count;
}
/*****************************************************************************/
int RatingCurrent(void)
{
switch (Jkmk.mk_cfg[5])
{
case 0: Jkmk.temp[30] = Jkmk.mk_cfg[51] * 50; break; //5A
case 1: Jkmk.temp[30] = Jkmk.mk_cfg[51] * 100; break; //10A
case 2: Jkmk.temp[30] = Jkmk.mk_cfg[51] * 200; break; //20A
}
if (Jkmk.temp[30] == 0)
{
Jkmk.temp[30] = 100;
return 100; //!!!! ERROR X/0 !!
}
else
{
Jkmk.temp[30];
}
}
/*****************************************************************************/
int CdmkCurrentLimit(void)
{
int i, unit_count;
int i_limit = 0;
unit_count = GetModuleCount(MODULE_CDMK);
if (unit_count == 0)
{
return 100;
}
for (i = 0; i < unit_count; i++)
{
i_limit += Cdmk[i].ai_v[3];
}
return (i_limit/unit_count)*10;
}
/*****************************************************************************/
void LoadModule(void)
{
uchar index, module; //load
//load jkmk
for (index = 0; index < 80; index++)
LoadModuleData(MODULE_JKMK|DATA_MKCFG, index, 0);
for (index = 0; index < 90; index++)
LoadModuleData(MODULE_JKMK|DATA_AICFG, index, 0);
for (index = 0; index < 10; index++)
LoadModuleData(MODULE_JKMK|DATA_AOCFG, index, 0);
for (index = 0; index < 40; index++)
{
LoadModuleData(MODULE_JKMK|DATA_ALMCFG, index, 0);
}
for (index = 0; index < 30; index++)
{
LoadModuleData(MODULE_JKMK|DATA_ALMMAP, index, 0);
}
for (index = 0; index < 20; index++)
LoadModuleData(MODULE_JKMK|DATA_DICFG, index, 0);
for (index = 0; index < 10; index++)
LoadModuleData(MODULE_JKMK|DATA_DOCFG, index, 0);
for (index = 0; index < 10; index++)
LoadModuleData(MODULE_JKMK|DATA_TMCFG, index, 0);
//load cdmk
for (module = 0; module < MAX_CDMK; module++)
{
for (index = 0; index < 10; index++)
LoadModuleData(MODULE_CDMK|DATA_MKCFG, index, module);
}
//load jymk
for (module = 0; module < MAX_JYMK; module++)
{
for (index = 0; index < 20; index++)
LoadModuleData(MODULE_JYMK|DATA_MKCFG, index, module);
}
//load ddmk
for (module = 0; module < MAX_DDMK; module++)
{
for (index = 0; index < 20; index++)
LoadModuleData(MODULE_DDMK|DATA_MKCFG, index, module);
}
//load krmk
for (module = 0; module < MAX_KRMK; module++)
{
for (index = 0; index < 10; index++)
LoadModuleData(MODULE_KRMK|DATA_MKCFG, index, module);
}
//load commk
for (module = 0; module < MAX_COMMK; module++)
{
for (index = 0; index < 20; index++)
LoadModuleData(MODULE_COMMK|DATA_MKCFG, index, module);
}
}
/*****************************************************************************/
void SaveModule(void)
{
uchar index, module;
//save default jkmk
for (index = 0; index < 100; index++)
SaveModuleData(MODULE_JKMK|DATA_MKCFG, index, 0);
for (index = 0; index < 100; index++)
SaveModuleData(MODULE_JKMK|DATA_AICFG, index, 0);
for (index = 0; index < 10; index++)
SaveModuleData(MODULE_JKMK|DATA_AOCFG, index, 0);
for (index = 0; index < 40; index++)
SaveModuleData(MODULE_JKMK|DATA_ALMCFG, index, 0);
for (index = 0; index < 30; index++)
SaveModuleData(MODULE_JKMK|DATA_ALMMAP, index, 0);
for (index = 0; index < 20; index++)
SaveModuleData(MODULE_JKMK|DATA_DICFG, index, 0);
for (index = 0; index < 10; index++)
SaveModuleData(MODULE_JKMK|DATA_DOCFG, index, 0);
for (index = 0; index < 10; index++)
SaveModuleData(MODULE_JKMK|DATA_TMCFG, index, 0);
//save default cdmk
for (module = 0; module < MAX_CDMK; module++)
{
for (index = 0; index < 10; index++)
SaveModuleData(MODULE_CDMK|DATA_MKCFG, index, module);
}
//save default jymk
for (module = 0; module < MAX_JYMK; module++)
{
for (index = 0; index < 10; index++)
SaveModuleData(MODULE_JYMK|DATA_MKCFG, index, module);
}
//save default ddmk
for (module = 0; module < MAX_DDMK; module++)
{
for (index = 0; index < 20; index++)
SaveModuleData(MODULE_DDMK|DATA_MKCFG, index, module);
}
//save default krmk
for (module = 0; module < MAX_KRMK; module++)
{
for (index = 0; index < 10; index++)
SaveModuleData(MODULE_KRMK|DATA_MKCFG, index, module);
}
//save default commk
for (module = 0; module < MAX_COMMK; module++)
{
for (index = 0; index < 10; index++)
SaveModuleData(MODULE_COMMK|DATA_MKCFG, index, module);
}
}
/*****************************************************************************/
/*****************************************************************************/
/*****************************************************************************/
void LoadModuleData(uchar type, uchar index, uchar module)
{
int value;
int eeprom_addr;
// eeprom_addr = GetEepromAddr(type, index, module);
switch (type & MASK_MODULE)
{
case MODULE_JKMK:
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG:
// value = SGet(eeprom_addr);
Jkmk.mk_cfg[index] = value;
break;
case DATA_AICFG:
// value = SGet(eeprom_addr);
Jkmk.ai_cfg[index] = value;
break;
case DATA_AOCFG:
// value = SGet(eeprom_addr);
Jkmk.ao_cfg[index] = value;
break;
case DATA_ALMCFG:
// value = SGet(eeprom_addr);
Jkmk.alm_cfg[index] = value;
break;
case DATA_TMCFG:
// value = SGet(eeprom_addr);
Jkmk.tm_cfg[index] = value;
break;
case DATA_TM:
// value = SGet(eeprom_addr);
Jkmk.tm_v[index] = value;
break;
case DATA_DICFG:
// value = SGetB(eeprom_addr);
Jkmk.di_cfg[index] = value;
break;
case DATA_DOCFG:
// value = SGetB(eeprom_addr);
Jkmk.do_cfg[index] = value;
break;
case DATA_ALMMAP:
// value = SGetB(eeprom_addr);
Jkmk.alm_map[index] = value;
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:
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG:
// value = SGet(eeprom_addr);
Cdmk[module].mk_cfg[index] = value;
break;
/*
case DATA_AI: break;
case DATA_AO: break;
case DATA_DI: break;
case DATA_ALM: break;
*/
default: break;
}
break;
case MODULE_JYMK:
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG:
// value = SGet(eeprom_addr);
Jymk[module].mk_cfg[index] = value;
break;
case DATA_AI: break;
case DATA_ALM: break;
default: break;
}
break;
case MODULE_DDMK:
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG:
// value = SGet(eeprom_addr);
Ddmk[module].mk_cfg[index] = value;
break;
case DATA_AI: break;
case DATA_ALM: break;
default: break;
}
break;
case MODULE_KRMK:
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG:
// value = SGet(eeprom_addr);
Krmk[module].mk_cfg[index] = 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 = SGet(eeprom_addr);
Commk[module].mk_cfg[index] = value;
break;
case DATA_ALM: break;
default: break;
}
break;
default:
value = 0;
break;
}
}
/*****************************************************************************/
void SaveModuleData(uchar type, uchar index, uchar module)
{
int value;
int eeprom_addr;
// eeprom_addr = GetEepromAddr(type, index, module);
switch (type & MASK_MODULE)
{
case MODULE_JKMK:
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG:
value = Jkmk.mk_cfg[index];
// SPut(eeprom_addr, value);
break;
case DATA_AICFG:
value = Jkmk.ai_cfg[index];
// SPut(eeprom_addr, value);
break;
case DATA_AOCFG:
value = Jkmk.ao_cfg[index];
// SPut(eeprom_addr, value);
break;
case DATA_ALMCFG:
value = Jkmk.alm_cfg[index];
// SPut(eeprom_addr, value);
break;
case DATA_TMCFG:
value = Jkmk.tm_cfg[index];
TimerInit();
// SPut(eeprom_addr, value);
break;
case DATA_TM:
value = Jkmk.tm_v[index];
// SPut(eeprom_addr, value);
break;
case DATA_DICFG:
value = Jkmk.di_cfg[index];
//SPutB(eeprom_addr, value);
break;
case DATA_DOCFG:
value = Jkmk.do_cfg[index];
//SPutB(eeprom_addr, value);
break;
case DATA_ALMMAP:
value = Jkmk.alm_map[index];
//SPutB(eeprom_addr, value);
break;
case DATA_TEMP:
value = Jkmk.temp[index];
if (index < 6)
//Write_RTC(index, value);
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:
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG:
value = Cdmk[module].mk_cfg[index];
// SPut(eeprom_addr, value);
break;
/*
case DATA_AI: break;
case DATA_AO: break;
case DATA_DI: break;
case DATA_ALM: break;
*/
default: break;
}
break;
case MODULE_JYMK:
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG:
value = Jymk[module].mk_cfg[index];
// SPut(eeprom_addr, value);
break;
case DATA_AI: break;
case DATA_ALM: break;
default: break;
}
break;
case MODULE_DDMK:
switch (type & MASK_DATA_TYPE)
{
case DATA_MKCFG:
value = Ddmk[module].mk_cfg[index];
// SPut(eeprom_addr, value);
break;
case DATA_AI: break;
case DATA_ALM: break;
default: break;
}
break;
case MODULE_KRMK:
switch (type & MASK_DATA_TYPE)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -