Member
Статус: Не в сети Регистрация: 20.06.2003 Откуда: Ижевск
Daemon
Цитата:
на чем писал???
На дельфях писал А ChipID вроде как из 58h регистра читается, для IT8205 он по даташиту равен 90h.
И вообще, в даташитах на ITE есть все что нужно, вроде бы..
PS: Самое главное-то - мониторинг ITE работает или нет? Мне даже проверить не на чем, одни винбонды под рукой
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
awl как раз из 58h читаеться Vendor ID - наш дорогой ITE, для всех ITE чипов одинаков, это у винбонда отуда читаеться Chip ID причем 90h он у w83782D кажись.
Цитата:
И вообще, в даташитах на ITE есть все что нужно, вроде бы..
Я не могу вкурить где он там
Цитата:
PS: Самое главное-то - мониторинг ITE работает или нет? Мне даже проверить не на чем, одни винбонды под рукой
К сожалению мне тоже не начем. Я вообще пишу практически для всех чипов вслепую, особенно управление фанами.
Member
Статус: Не в сети Регистрация: 22.01.2004 Откуда: Новосибисрк
Daemon Было бы интерсно посмотреть код! А ты на чём пишешь?
А ChipID можно узнать из 20h и 21h регистров значения для ITE-8712F должны быть 87h и 12h соответсвенно.
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
К сожалению код был безвозвратно утрачен, вчера с утреца написал новый, но незнаю как он работает. Ты скачай с ftp.i.com.ua логин evilsoul и пароль evilevil файлик - поймешь какой. Сделай скрин и кинь сюда, если будет все правильно я выложу код. Не волнуйся там нет ничего лишнего.
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
Daemon Так ты про этот chipid меня спрашивал на форуме по програмингу? Кстати мне было бы тоже охото глянуть на код по работе с этим делом. Все никак не доберусь до него.
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
Ray Adams неа, там же про видеокарты ишла речь, а тут речь о SuperIO, ладно как хотите, код написан за 15 мин по даташиту и толком не был проверен, вот в принцыпе что было написано:
Короче, несложно, но тут не обрабатываються 2 случая с фанами, когда каунтер равен 255 или 0, то и обороты равны 0. И еще напряжения не высчитываються, а домножаються на 16 миливольт, есть разные реализации этого SuperIO, по этому конкретные формулы подставлять нестал.
if (result) { result = GetPortVal(dataPort, &portValue, 1); if (result) { return portValue; } printf("Ошибка при чтении значения из порта.\n"); return 0; } else { printf("Ошибка при записи значения в порт.\n"); return 0; } }
bool writeToPort(WORD index, DWORD value, byte numBytes=1) { bool result = false; short a = 0;
a = outp(indexPort, index);
if (result) { result = SetPortVal(dataPort, value, 1); if (result) { return true; } printf("Ошибка при записи значения в порт.\n"); return false; } else { printf("Ошибка при записи значения в порт.\n"); return false; } }
void main() { bool bResult; DWORD res;
bResult = InitializeWinIo();
if (bResult) { for (int i=0; i<4; i++) { SetPortVal(0x2e, configPort[i], 1); }
res = readFromPort(0x20); if ((byte)res==0x87) { res = readFromPort(0x21); if ((byte)res==0x12) { printf("Initialize ITE-8712 - OK.\n"); } else { printf("Error during initialize ITE-8712.\n"); } } else { printf("Error during initialize ITE-8712.\n"); } ShutdownWinIo(); } else { printf("Error during initialization of WinIo.\n"); exit(1); } }
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
Гоша сори, мылом не могу. Там все просто, заходишь на фтп под логином и паролем и скачиваешь, сейчас там 3 архива. Если нужно конечно.
Ray Adams если бы я умел программировать без VCL, сам бы написал плагин. Млин опять C, да ж это такое
Member
Статус: Не в сети Регистрация: 22.01.2004 Откуда: Новосибисрк
Daemon Понятно, буду пробывать. У меня просто почему-то на ftp не хочет заходить.. Моежт и моя прокся виновата.
Что было под рукой, на том иписал. В принципе там нет ни какой специфики от С.
Daemon Только подключился и попробывал зайти (логин: evilsoul, пароль: evilevil) говорить, что нет доступа...
mov al,temp and al,11000000b shr al,6 mov fan2divw,al end; PortOut($295,$4e); PortOut($296,0); PortOut($295,$5d); temp:=PortIn($296); asm mov al,temp and al,00100000b shr al,3 or fan1divw,al
mov al,temp and al,01000000b shr al,4 or fan2divw,al end; case fan1divw of 0:fan1divw:=1; 1:fan1divw:=2; 2:fan1divw:=4; 3:fan1divw:=8; 4:fan1divw:=16; 5:fan1divw:=32; 6:fan1divw:=64; 7:fan1divw:=128; end; case fan2divw of 0:fan2divw:=1; 1:fan2divw:=2; 2:fan2divw:=4; 3:fan2divw:=8; 4:fan2divw:=16; 5:fan2divw:=32; 6:fan2divw:=64; 7:fan2divw:=128; end; PortOut($295,$4b); //Fan3 divisor reading temp:=PortIn($296); asm mov al,temp and al,11000000b shr al,6 mov fan3divw,al end; PortOut($295,$4e); PortOut($296,0); PortOut($295,$5d); temp:=PortIn($296); asm mov al,temp and al,10000000b shr al,5 or fan3divw,al end; case fan3divw of 0:fan3divw:=1; 1:fan3divw:=2; 2:fan3divw:=4; 3:fan3divw:=8; 4:fan3divw:=16; 5:fan3divw:=32; 6:fan3divw:=64; 7:fan3divw:=128; end; end;
Мож где-то и криво, но смысел понятен, а это просчет:
Код:
$21:begin // Winbond W83627HF/F standart 1 //Voltages monm[1]:=monm[1]*0.016; //Vcore calculating monm[2]:=monm[2]*0.016; //Vin1 calculating monm[3]:=monm[3]*0.016; //+3.3Vin calculating monm[4]:=monm[4]*0.016*1.68; //+5Vin calculating monm[5]:=monm[5]*0.016*3.8; //+12Vin calculating monm[6]:=((monm[6]*0.016)-3.6)*5.14+3.6; //-12Vin calculating monm[7]:=((monm[7]*0.016)-3.6)*3.14+3.6; //-5Vin calculating monm[8]:=monm[8]*0.016*1.515{7}; //+5VSB calculating monm[9]:=monm[9]*0.016; //VBAT calculating //Temperatures if (monm[14]<-100) or (monm[14]>150) then monm[14]:=-250; if (monm[15]<-100) or (monm[15]>150) then monm[15]:=-250; if (monm[16]<-100) or (monm[16]>150) then monm[16]:=-250; //Fans if monm[10]=255 then monm[10]:=0 else if monm[10]=0 then monm[10]:=-250 else monm[10]:=1350000/(monm[10]*fan1divw); if monm[11]=255 then monm[11]:=0 else if monm[11]=0 then monm[11]:=-250 else monm[11]:=1350000/(monm[11]*fan2divw); if monm[12]=255 then monm[12]:=0 else if monm[12]=0 then monm[12]:=-250 else monm[12]:=1350000/(monm[12]*fan3divw);
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
Так, может кто-то пытался на ITE чипах регулировать скорость фанов? А то я глядел в даташит IT8705 увидел только как можно активировать SmartFan, а так что бы в ручную?
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
SweetLow
Цитата:
Замени на fan3divw:=1 shl fan3divw; Попробуй, будешь приятно удивлен.
Незнал, что в Делфи есть shl/shr, а вообще-то тот кусок был на ассемблере, просто переделал на всякий случай
Цитата:
И второе - процедуры пусть враг(Вирт) пишет?
Не понял сути вопроса, какие процедуры, для дивайзоров что ли? Зачем они тут нужны, написание универсальной процедуры, только услажняет читабельность кода в последствии.
Цитата:
И последнее, что эта ветка в ПО делает? ей место в программировании
Модераторы спят
Цитата:
На 8712 есть три регистра, работают на ура.
А носом не ткнешь, а то смотрю и фижу фигу. Нет под рукой мамки с таким чипом, что бы самому попробывать.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения