შინაარსი დამალვა
3 დინამიური ბმული ბიბლიოთეკის DLL

LAN I2C ადაპტერი VM

ინტერფეისის სახელმძღვანელო
LANIICVM.DLL
TCP/IP - I2C

(გამოცემა 1.0)

 

 

Coptonix-ის ლოგო

Falkentaler Steig 9
დ - 13467 ბერლინი
ტელეფონი: +49 30 617 412 48
ფაქსი: +49 30 617 412 47
www.coptonix.com

LAN I2C ადაპტერი VM - დინამიური ბმული ბიბლიოთეკა


დინამიური ბმული ბიბლიოთეკის DLL

1 ზოგადი ფუნქციები
1.1 InitNetIIC

ფუნქცია initnetiic (pIRQCallBack, pSlvCallBack, pVMCallBack : Pointer) : DWORD Stdcall;
ჰოსტის აპლიკაციის გაშვებისას, ეს ფუნქცია უნდა გამოიძახოთ, თუ საჭიროა გამოძახების ფუნქციები. არგუმენტები pIRQCallBack, pSlvCallBack და pVMCallback არის გამოძახების ფუნქციების მისამართები.

TIRQCallBack = პროცედურა; stdcall;
ეს ფუნქცია გამოიძახება შეფერხების აღმოჩენისას და IRQ IN ანგარიშის (0x0920) მიღებისას.

TSlvCallBack = პროცედურა (შემდგომი მონაცემები : Pointer, wSize : Word); stdcall;
ეს ფუნქცია გამოიძახება, როდესაც ადაპტერი იმყოფება SLAVE MODE-ში და იღებს მონაცემებს I2C მასტერიდან და მიიღება SLAVE DATA IN ანგარიში (0x8230). მონაცემები არის მიმღები მონაცემების მაჩვენებელი და wSize არის მიღებული ბაიტების რაოდენობა.

TVMCallBack = პროცედურა (შემდგომი მონაცემები : Pointer, wSize : Word); stdcall;
ეს ფუნქცია გამოიძახება VM DATA IN ანგარიშის (0x5000) მიღებისას. მონაცემები არის მითითება ვირტუალური მანქანით 8051 გაგზავნილი მონაცემებისა და wSize არის მიღებული ბაიტების რაოდენობა.

თუ გამოძახების ფუნქცია არ არის საჭირო, უბრალოდ გაიარეთ ნული ფუნქციამდე
. მაგ: iniusbiic(ნული, ნული,@vmcallback);

თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.2 დაკავშირება

ფუნქცია დაკავშირება (შოსტი: PAnsiChar; wport: Word) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება LAN I2C ადაპტერ VM-თან დასაკავშირებლად IP მისამართის გამოყენებით შოსტი (მაგ. „192.168.1.100“) და პორტის ნომერი ვპორტი (მაგ. 5000). თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

ქსელის ნაგულისხმევი პარამეტრები:
GAR (Gateway IP მისამართის რეგისტრაცია): 192.168.1.1
SUBR (ქვექსელის ნიღბის რეგისტრაცია): 255.255.255.0
IP (IP მისამართის რეგისტრაცია): 192.168.1.100
SHAR (ტექნიკის მისამართების რეგისტრაცია -MAC-): 00-00-00-00-00-00
TCP / IP პორტი:                                                   5000
UDP პორტი:                                                         3000

1.3 გათიშვა

ფუნქცია გათიშვა: DWORD Stdcall;
ეს ფუნქცია გამოიყენება კლიენტის LAN I2C ადაპტერ VM-ისგან გათიშვისთვის. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.4 დაკავშირებულია

ფუნქცია დაკავშირებულია: DWORD Stdcall;
ეს ფუნქცია გამოიყენება იმის შესამოწმებლად, არის თუ არა კავშირი დამყარებული. ფუნქცია უბრუნებს ნულს, თუ კავშირი დამყარებულია.

1.5 SetMode

ფუნქცია setmode(var ucMode, ucSlvAddr: Byte; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია ირჩევს სამიდან ერთ-ერთ ოპერაციულ რეჟიმს: MASTER MODE, SLAVE MODE ან PROG MODE.

ucMode = 0 -> არ იმოქმედებს რაიმე ცვლილებაზე. ფუნქცია აბრუნებს მიმდინარე რეჟიმს.
ucMode = 1 -> MASTER MODE
ucMode = 2 -> SLAVE MODE
ucMode = 3 -> PROG MODE

ucSlvAddr არის ადაპტერის საკუთარი slave მისამართი (მოქმედი მხოლოდ SLAVE MODE-ში). dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.6 GetNetConfig

ფუნქცია getnetconfig(var pNetConfig; wSize : WORD; dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება ქსელის მიმდინარე პარამეტრების წასაკითხად LAN I2C ადაპტერი VM-დან. pNetConfig არის ბუფერის მაჩვენებელი, რომელიც იღებს მოწყობილობიდან წაკითხულ მონაცემებს. ეს ბუფერი უნდა დარჩეს მოქმედი წაკითხვის ოპერაციის ხანგრძლივობის განმავლობაში. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

TNetConfig = ჩანაწერი

GAR: DWORD; //მაგ. 0xC0A80101 = 192.168.1.1
SUBR: DWORD; //მაგ. 0xFFFFFF00 = 255.255.255.0
IP: DWORD; //მაგ. 0xC0A80164 = 192.168.1.100
TCPPORT: WORD; //მაგ. 5000
UDPPORT: WORD; //მაგ. 3000
VMTCPPORT : WORD; //მაგ. 5001
VMUDPPORT : WORD; //მაგ. 3001
SHAR: მასივი [0..5] ბაიტი; //მაგ [0x00,0x00,0x00, 0x00,0x00,0x00] PHYCHECK : ბაიტი; //მაგ. 12 შეესაბამება 60-ს (1 წუთი)
KPALIVE: ბაიტი; //მაგ. 12 შეესაბამება 60-ს (1 წუთი)
VMKPALIVE: ბაიტი; //მაგ. 12 შეესაბამება 60-ს (1 წუთი)

დასასრული;
PTNetConfig = ^TNetConfig;

1.7 GetMemProtect

ფუნქცია getmemprotect(var ucProtect : Byte; dwTimeOut : DWORD) : DWORD; stdcall;
ფუნქცია გამოიყენება მეხსიერების დაცვის მიმდინარე პარამეტრების წასაკითხად. ucProtect აბრუნებს მიმდინარე პარამეტრებს. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

ucProtect = 0 -> ჩაწერის ოპერაციები ჩართულია
ucProtect = 1 -> ჩაწერის ოპერაციები გამორთულია

1.8 GetIRQ

ფუნქცია getirq(var ucIRQMode : Byte; dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება შეფერხების შეყვანის კონფიგურაციის წასაკითხად MASTER MODE-ში მუშაობისას. ucIRQ რეჟიმი აბრუნებს შეფერხების შეყვანის მიმდინარე კონფიგურაციას. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

შესაძლო მნიშვნელობები ucIRQMode:
0: შეწყვეტა გამორთულია.
1: ჩართულია შეფერხება. შეწყვეტა მგრძნობიარეა დაცემის ზღვარზე.
2: ჩართულია შეფერხება. შეწყვეტა მგრძნობიარეა ამომავალი კიდეზე.

1.9 VMStartRequest

ფუნქცია vmstartrequest(dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება 8051 ვირტუალური მანქანის გაშვების მოთხოვნის გასაგზავნად. თუ ბაიტიკოდი უკვე ჩატვირთულია, VM იწყებს ბაიტიკოდის შესრულებას და VM სტატუსი დაყენებულია VM_RUNNING. შენიშვნა: ამ ბრძანებაზე პასუხი ნიშნავს, რომ ბრძანება გაგზავნილია, მაგრამ VM შეიძლება ჯერ არ დაწყებულა. წაიკითხეთ VM მიმდინარე სტატუსი ფუნქციის გამოყენებით vmstate. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.10 VMStopRequest

ფუნქცია vmstoprequest(dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება 8051 ვირტუალური მანქანის შეჩერების მოთხოვნის გასაგზავნად. VM წყვეტს ბაიტეკოდის შესრულებას და VM სტატუსი დაყენებულია VM_ABORTED. შენიშვნა: ამ ბრძანებაზე პასუხი ნიშნავს, რომ ბრძანება გაგზავნილია, მაგრამ VM შეიძლება ჯერ არ იყოს შეჩერებული. წაიკითხეთ VM მიმდინარე სტატუსი ფუნქციის გამოყენებით vmstate. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.11 VMGetState

ფუნქცია vmgetstate(var ucstate: Byte; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება 8051 ვირტუალური მანქანის მდგომარეობის წასაკითხად. ucstate აბრუნებს VM-ის მიმდინარე სტატუსს. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

შესაძლო მნიშვნელობები ucstate:
0: VM_ABORTED.
1: VM_RUNNING
2: VM_ABORT_REQUEST
3: VM_START_REQUEST

1.12 VMIRQ მოთხოვნა

ფუნქცია vmirqrequest(const pvmdata; ucSize: Byte; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება 255 ვირტუალურ მანქანაზე 8051 ბაიტამდე გასაგზავნად. თუ VM უკვე მუშაობს და შეფერხება ჩართულია, VM გადადის შესაბამის სერვისის რუტინაში. გამოიძახეთ ფუნქცია VMIRQ შედეგი რათა შეამოწმოს, მიიღო თუ არა VM-მა მონაცემები და დაამუშავა. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.13 VMIRQ შედეგი

ფუნქცია vmirqresult(var ucIrqResult : byte; dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება a-ს ბოლო ზარის შედეგის წასაკითხად VMIRQ მოთხოვნა. ucIrq შედეგი უდრის 1-ს, თუ მონაცემები მიღებულია VM-ის მიერ და მონაცემები ხელმისაწვდომია შემდგომი დამუშავებისთვის. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.14 VMReset

ფუნქცია vmreset(dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება VM-ის კოდის მეხსიერების წასაშლელად და VM-ის გადატვირთვისთვის. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.15 VMCodeLoaded

ფუნქცია vmcodeloaded(dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება იმის შესამოწმებლად, არის თუ არა ორობითი file უკვე ჩაიტვირთა VM-ის კოდის მეხსიერებაში და დამოწმებული. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.15 VMLoadCode_A

ფუნქცია vmloadcode_a(pImage: PAnsiChar; var dwImageChkSum: DWORD; var wImageSize: WORD; pVMFlashCallBack: Pointer; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება ბაიტეკოდის ჩასაწერად VM-ის კოდის მეხსიერებაში. სურათი არის ორობითი გზის მაჩვენებელი file ტიპის პანსიჩარ. dwImageChkSum აბრუნებს ბაიტეკოდის გამოთვლილ საკონტროლო ჯამს. wImageSize აბრუნებს VM-ში დაწერილი ბაიტიკოდის ზომას. pVMFlashCallBack არის მაჩვენებელი გამოძახების ფუნქციისკენ, რომელიც აბრუნებს პროგრესის სტატუსს. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

TVMFlashCallBack = პროცედურა (wImageSize, BytesWritten : Word; dwErr : DWORD); stdcall;

1.16 VMLoadCode_W

ფუნქცია vmloadcode_w(pImage: PChar; var dwImageChkSum: DWORD; var wImageSize: WORD; pVMFlashCallBack: Pointer; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია ასე იქცევა VMLoadCode_A, გარდა იმისა, რომ ეს ფუნქცია იღებს არგუმენტს სურათი ტიპის PChar (WideChar).

1.17 VMVerifyCode

ფუნქცია vmverifycode(dwImageChkSum : DWORD; wImageSize : WORD; dwTimeOut : DWORD) : DWORD; stdcall;
შემდეგი ნაბიჯი VM-ის მეხსიერებაში ბაიტეკოდის ჩატვირთვის შემდეგ არის ბაიტეკოდის გადამოწმება. ეს კეთდება VM-ში ბაიტეკოდის საკონტროლო ჯამის ჩაწერით. VM ითვლის საკონტროლო ჯამს და ადარებს მას მიღებულ საკონტროლო თანხას. საკონტროლო ჯამი არის 32 ბიტიანი 2-ის დამატება ბაიტეკოდის ჯამისა. ბაიტიკოდისა და საკონტროლო ჯამის ჯამი უნდა იყოს 0x00000000.

1.18 VMLoadVerifyCode_A

ფუნქცია vmloadverifycode_a(pImage: PAnsiChar; var dwImageChkSum: DWORD; var wImageSize: WORD; pVMFlashCallBack: Pointer; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება ბაიტეკოდის ჩასაწერად VM-ის კოდის მეხსიერებაში და ატვირთული ბაიტიკოდის შესამოწმებლად. სურათი არის ორობითი გზის მაჩვენებელი file ტიპის პანსიჩარ. dwImageChkSum აბრუნებს ბაიტეკოდის გამოთვლილ საკონტროლო ჯამს. wImageSize აბრუნებს VM-ში დაწერილი ბაიტიკოდის ზომას. pVMFlashCallBack არის მაჩვენებელი გამოძახების ფუნქციისკენ, რომელიც აბრუნებს პროგრესის სტატუსს. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

TVMFlashCallBack = პროცედურა (wImageSize, BytesWritten : Word; dwErr : DWORD); stdcall;

1.19 VMLoadVerifyCode_W

ფუნქცია vmloadverifycode_w(pImage: PChar; var dwImageChkSum: DWORD; var wImageSize: WORD; pVMFlashCallBack: Pointer; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია ასე იქცევა VMLoadVerifyCode_A, გარდა იმისა, რომ ეს ფუნქცია იღებს არგუმენტს სურათი ტიპის PChar (WideChar).

1.20 VMLoadToEEP_A

ფუნქცია vmloadtoeep_a(pImage: PAnsiChar; wAddr: WORD; ucPageSize: Byte; pVMFlashCallBack: Pointer; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება ბაიტეკოდის ჩასაწერად ბორტ მეხსიერებაში (EEPROM). სურათი არის ორობითი გზის მაჩვენებელი file ტიპის პანსიჩარ. wAddr არის საწყისი მისამართი, სადაც ბაიტიკოდი უნდა ჩაიწეროს EEPROM-ში. ucPageSize EEPROM-ის გვერდის ზომა (64 ბაიტი). pVMFlashCallBack არის მაჩვენებელი გამოძახების ფუნქციისკენ, რომელიც აბრუნებს პროგრესის სტატუსს. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.21 VMLoadToEEP_W

ფუნქცია vmloadtoeep_w(pImage: PChar; wAddr: WORD; ucPageSize: Byte; pVMFlashCallBack: Pointer; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია ასე იქცევა VMLoadToEEP_A, გარდა იმისა, რომ ეს ფუნქცია იღებს არგუმენტს სურათი ტიპის PChar (WideChar).

1.22 VMLoadFromEEP

ფუნქცია vmloadfromeep(wAddr: WORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება ბაიტეკოდის ჩასატვირთად EEPROM-დან givin მისამართზე (wAddr) VM-ის კოდის მეხსიერებაში. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.23 VMSetParam

ფუნქცია vmsetparam(ucLoad: Byte; wAddr: WORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება VM-ის ჩატვირთვის ვარიანტების დასაყენებლად. ბაიტიკოდი შეიძლება ავტომატურად ჩაიტვირთოს EEPROM-დან VM-ის კოდის მეხსიერებაში ადაპტერის ჩართვისა და ჩატვირთვის შემდეგ. Addr არის მისამართი, სადაც მდებარეობს ბაიტიკოდი. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

Addr 2 0x0100..0x7FFF EEPROM-ის ზომაა 32K ბაიტი.
მეხსიერების მისამართი 0x0100-დან 0x7FFF-მდე დიაპაზონში.
ჩატვირთვის პარამეტრები 1 ბიტი[0] 0: არ ჩატვირთოთ; 1: ჩატვირთეთ ბაიტიკოდი VM-ში ჩატვირთვის შემდეგ
  ბიტი[1] 0: არ დაიწყო; 1: დაიწყება ბაიტიკოდი VM-ში ჩატვირთვის შემდეგ
  ბიტი [7:2] დაცულია. დაწერეთ ნულები
1.24 VMGetParam

ფუნქცია vmgetparam(var ucLoad: Byte; var wAddr: WORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება VM-ის ჩატვირთვის ვარიანტების წასაკითხად. Addr აბრუნებს მისამართს, სადაც მდებარეობს ბაიტეკოდი, ucLoad აბრუნებს ჩატვირთვის პარამეტრებს. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.25 GetVersion

ფუნქცია getversion(var wVersion: Word; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება პროგრამული უზრუნველყოფის ვერსიის წასაკითხად. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.26 MemWR8Bit

ფუნქცია memwr8bit(wAddr: WORD; ucVal: Byte; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება 8 ბიტიანი მნიშვნელობის დასაწერად (ucVal) ბორტ მეხსიერებაში მისამართზე wAddr. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.27 MemWR16Bit

ფუნქცია memwr16bit(wAddr: WORD; wVal: WORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება მისამართზე ბორტ მეხსიერებაში 16 ბიტიანი მნიშვნელობის (wVal) ჩასაწერად wAddr. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.28 MemWR32Bit

ფუნქცია memwr32bit(wAddr: WORD; dwVal: DWORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება 32 ბიტიანი მნიშვნელობის დასაწერად (dwVal) ბორტ მეხსიერებაში მისამართზე wAddr. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.29 MemWRBlock

ფუნქცია memwblock(wAddr: WORD; const pmemdata; wSize: WORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება ბორტ მეხსიერებაში მონაცემთა ბლოკის ჩასაწერად. pmemdata არის მაჩვენებელი ბუფერზე, რომელიც შეიცავს მეხსიერებაში ჩასაწერ მონაცემებს. ეს ბუფერი უნდა დარჩეს მოქმედი ჩაწერის ოპერაციის ხანგრძლივობის განმავლობაში. wSize არის მეხსიერებაში ჩასაწერი ბაიტების რაოდენობა. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.30 MemRD8 ბიტი

ფუნქცია memrd8bit(wAddr: WORD; var ucVal: Byte; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ბრძანება გამოიყენება მისამართის მეხსიერებიდან 8 ბიტიანი მნიშვნელობის წასაკითხად wAddr. ucVal აბრუნებს წაკითხულ 8 ბიტიან მნიშვნელობას. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.31 MemRD16 ბიტი

ფუნქცია memrd16bit(wAddr: WORD; var wVal: WORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ბრძანება გამოიყენება მისამართის მეხსიერებიდან 16 ბიტიანი მნიშვნელობის წასაკითხად wAddr. wVal აბრუნებს წაკითხულ 16 ბიტიან მნიშვნელობას. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.32 MemRD32 ბიტი

ფუნქცია memrd32bit(wAddr: WORD; var dwVal: DWORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ბრძანება გამოიყენება მისამართის მეხსიერებიდან 32 ბიტიანი მნიშვნელობის წასაკითხად wAddr. dwVal აბრუნებს წაკითხულ 32 ბიტიან მნიშვნელობას. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.33 MemRDBlock

ფუნქცია memrdblock(wAddr: WORD; var pmemdata; var wSize: WORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება ბაიტების რაოდენობის წასაკითხად (wSizeმისამართიდან დაწყებული მეხსიერებიდან wAddr. pi2cdata არის ბუფერის მაჩვენებელი, რომელიც იღებს მეხსიერებიდან წაკითხულ მონაცემებს. ეს ბუფერი უნდა დარჩეს მოქმედი წაკითხვის ოპერაციის ხანგრძლივობის განმავლობაში. wSize არის მეხსიერებიდან წასაკითხი ბაიტების რაოდენობა. wSize ასევე აბრუნებს მეხსიერებიდან წაკითხული ბაიტების რაოდენობას. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.34 Save Settings

ფუნქციის შენახვის პარამეტრები (dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება ბორტ მეხსიერებაში პარამეტრების შესანახად (ოპერაციული რეჟიმი, სლავის მისამართი და SCL სიხშირე). dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.35 პარამეტრების გადატვირთვა

ფუნქციის გადაყენება (dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება ქარხნული (ნაგულისხმევი) პარამეტრების აღსადგენად:
MASTER_MODE
SLAVE ADDRESS = 0x00
SCL სიხშირე = 100 kHz
dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

1.36 GetErrorString

ფუნქცია geterrorstring(dwErr : DWORD) : PAnsiChar; stdcall;
ეს ფუნქცია გამოიყენება შეცდომის კოდის წასაკითხ სტრინგად გადასაყვანად. DLL-ის მიერ მოწოდებული შეცდომის კოდების სრული სიისთვის იხილეთ განყოფილება 5 შეცდომის კოდები. dwErr არის ამ სახელმძღვანელოში ნახსენები ყველა ფუნქციის დაბრუნების მნიშვნელობა. დაბრუნებული მნიშვნელობა არის შეცდომის სტრიქონი.

2 PROG MODE ფუნქცია
2.1 SetGAR

ფუნქცია setgar (ucVal1, ucVal2, ucVal3, ucVal4: ბაიტი; dwTimeOut : DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება GAR-ისთვის ახალი მნიშვნელობის დასაყენებლად (Gateway IP მისამართის რეგისტრაცია). ახალი მნიშვნელობა იწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ.
მაგ 192.168.1.1
ucVal1 = 192
ucVal2 = 168
ucVal3 = 1
ucVal4 = 1

dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

2.2 SetSUBR

ფუნქცია setsubr (ucVal1, ucVal2, ucVal3, ucVal4: ბაიტი; dwTimeOut : DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება SUBR-ისთვის (ქვექსელის ნიღბის რეგისტრი) ახალი მნიშვნელობის დასაყენებლად. ახალი მნიშვნელობა იწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ.
მაგ: 255.255.255. 0
ucVal1 = 255
ucVal2 = 255
ucVal3 = 255
ucVal4 = 0

dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

2.3 SetSHAR

ფუნქცია setshar (ucVal1, ucVal2, ucVal3, ucVal4, ucVal5, ucVal6: ბაიტი; dwTimeOut : DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება SHAR-ისთვის ახალი მნიშვნელობის დასაყენებლად (Hardware Address Register -MAC-). ახალი მნიშვნელობა იწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ.
e.g. 00-50-C2-00-00-00
ucVal1 = 0x00
ucVal2 = 0x50
ucVal3 = 0xC2
ucVal4 = 0x00
ucVal5 = 0x00 ucVal6 = 0x00

dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

2.4 SetIP

ფუნქციის დაყენება (ucVal1, ucVal2, ucVal3, ucVal4: ბაიტი; dwTimeOut : DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება IP მისამართის ახალი მნიშვნელობის დასაყენებლად (IP მისამართების რეგისტრაცია). ახალი მნიშვნელობა იწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ.
მაგ 192.168.1.100
ucVal1 = 192
ucVal2 = 168
ucVal3 = 1
ucVal4 = 100

dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

2.5 SetTCPPport

ფუნქცია settcpport (wPort: Word; dwTimeOut: DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება TCP/IP მოსმენის პორტისთვის ახალი მნიშვნელობის დასაყენებლად. ახალი მნიშვნელობა იწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ. wPort არის პორტის ნომერი (მაგ. 5000). dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

2.6 SetUDPPort

ფუნქცია setudpport (wPort: Word; dwTimeOut: DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება UDP პორტისთვის ახალი მნიშვნელობის დასაყენებლად. ახალი მნიშვნელობა ჩაიწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ. wPort არის პორტის ნომერი (მაგ. 3000). dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

2.7 SetVMTCPPport

ფუნქცია settcpport (wPort: Word; dwTimeOut: DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება ახალი მნიშვნელობის დასაყენებლად TCP/IP მოსმენის პორტისთვის პირდაპირი კომუნიკაციისთვის ვირტუალურ მანქანასთან 8051. ახალი მნიშვნელობა ჩაიწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ. wPort არის პორტის ნომერი (მაგ. 5001). dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

2.8 SetVMUDPPport

ფუნქცია setudpport (wPort: Word; dwTimeOut: DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება UDP პორტისთვის ახალი მნიშვნელობის დასაყენებლად ვირტუალურ მანქანასთან 8051 პირდაპირი კომუნიკაციისთვის. ახალი მნიშვნელობა ჩაიწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ. wPort არის პორტის ნომერი (მაგ. 3001). dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

2.9 SetKeepAlive

ფუნქცია setkeepalive (ucKPAlive: Byte; dwTimeOut: DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება 1-ის სოკეტის KEEP ALIVE პაკეტებისთვის დროის ინტერვალის ახალი მნიშვნელობის დასაყენებლად (TCP/IP). ახალი მნიშვნელობა იწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ. ucKPALIVE არის დროის ინტერვალი. დროის ერთეული არის 5 წამი. მაგ. 12-ის მნიშვნელობა შეესაბამება 60 წამს, ამ შემთხვევაში KEEP ALIVE პაკეტები იგზავნება ყოველ 60 წამში (1 წუთში). KEEP ALIVE პაკეტები გადაიცემა მხოლოდ მას შემდეგ, რაც მონაცემები მიიღება კლიენტისგან და გაიგზავნება. თუ კლიენტი ვერ პასუხობს KEEP ALIVE პაკეტს, სოკეტი გათიშულია. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

2.10 SetVMKeepAlive

ფუნქცია setvmkeepalive (ucKPAlive: Byte; dwTimeOut : DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება მე-3 სოკეტის KEEP ALIVE პაკეტებისთვის დროის ინტერვალის ახალი მნიშვნელობის დასაყენებლად (TCP/IP კლიენტსა და VM 8051-ს შორის პირდაპირი კომუნიკაციისთვის). ახალი მნიშვნელობა იწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ. ucKPALIVE არის დროის ინტერვალი. დროის ერთეული არის 5 წამი. მაგ. 12-ის მნიშვნელობა შეესაბამება 60 წამს, ამ შემთხვევაში KEEP ALIVE პაკეტები იგზავნება ყოველ 60 წამში (1 წუთში). KEEP ALIVE პაკეტები გადაიცემა მხოლოდ მას შემდეგ, რაც მონაცემები მიიღება კლიენტისგან და გაიგზავნება. თუ კლიენტი ვერ პასუხობს KEEP ALIVE პაკეტს, სოკეტი გათიშულია. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

2.11 SetPHYCheck

ფუნქცია setphycheck (ucPhyCheck: Byte; dwTimeOut : DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება ქსელის საკაბელო კავშირის შესამოწმებლად დროის ინტერვალის ახალი მნიშვნელობის დასაყენებლად. ახალი მნიშვნელობა იწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ. ucPhyCheck არის დროის ინტერვალი. დროის ერთეული არის 5 წამი. მაგ. 12-ის მნიშვნელობა შეესაბამება 60 წამს, ამ შემთხვევაში PHYLINK და საკაბელო კავშირი მოწმდება ყოველ 60 წამში (1 წუთი). dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

2.12 LoadFactorySettings

ფუნქცია loadfactorysettings (dwTimeOut : DWORD) : DWORD Stdcall;
იტვირთება ქარხნული (ნაგულისხმევი) ქსელის პარამეტრები. მომდევნო ჩართვისას ან ReInit ფუნქციის გამოძახების შემდეგ, კონვერტორი იყენებს ახალ პარამეტრებს. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

ქსელის ნაგულისხმევი პარამეტრები:
GAR (Gateway IP მისამართის რეგისტრაცია): 192.168.1.1
SUBR (ქვექსელის ნიღბის რეგისტრაცია): 255.255.255.0
IP (IP მისამართის რეგისტრაცია): 192.168.1.100
SHAR (ტექნიკის მისამართების რეგისტრაცია -MAC-): 00-00-00-00-00-00
TCP / IP პორტი:                                                       5000
UDP პორტი:                                                             3000
TCP/IP პორტი (VM):                                             5001
UDP პორტი (VM):                                                   3001
KEEP ALIVE დროის ინტერვალი:                             0 (გამორთულია)
KEEP ALIVE დროის ინტერვალი (VM):                   0 (გამორთულია)
PHY LINK შემოწმების დროის ინტერვალი:                     12 (60 წამი)

2.13 ReInit

ფუნქცია reinit (dwTimeOut : DWORD) : DWORD Stdcall;
ქსელის ახალი პარამეტრები ძალაში შედის ჩართვის ან ფუნქციის "ReInit" გამოძახების შემდეგ. ფუნქცია "ReInit" ახდენს ადაპტერის ხელახლა ინიცირებას. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

2.14 SetMemProtect

ფუნქცია setmemprotect(ucProtect: Byte; dwTimeOut: DWORD) : DWORD; stdcall;
ფუნქცია გამოიყენება ჩაწერის ოპერაციების ჩართვა/გამორთვა ბორტ მეხსიერებაში (მხოლოდ მომხმარებლის მეხსიერება > 0xFF) შემთხვევითი ჩაწერის ოპერაციებიდან. ჩაწერის ოპერაციები გამორთულია მეხსიერებაში, როდესაც ucProtect დაყენებულია 0x01-ზე. თუ ucProtect დაყენებულია 0x00-ზე, დაცვა გამორთულია და ჩაწერა დაშვებულია. ახალი მნიშვნელობა იწერება პირდაპირ მეხსიერებაში (EEPROM). dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

ucProtect = 0 -> ჩაწერის ოპერაციები ჩართულია
ucProtect = 1 -> ჩაწერის ოპერაციები გამორთულია

3 MASTER MODE ფუნქცია
3.1 WriteI2C

ფუნქცია writei2c(ucSlvAddr: ბაიტი; const pi2cdata; wSize: WORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება I2C მოწყობილობაზე მონაცემების ჩასაწერად. ucSlvAddr არის I2C მოწყობილობის სლავური მისამართი. pi2cdata არის ბუფერის მაჩვენებელი, რომელიც შეიცავს მოწყობილობაში ჩასაწერ მონაცემებს. ეს ბუფერი უნდა დარჩეს მოქმედი ჩაწერის ოპერაციის ხანგრძლივობის განმავლობაში. wSize არის მოწყობილობაში ჩასაწერი ბაიტების რაოდენობა. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

3.2 ReadI2C

ფუნქცია readi2c(ucSlvAddr: ბაიტი; var pi2cdata; var wSize: WORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება I2C მოწყობილობიდან მონაცემების წასაკითხად. ucSlvAddr არის I2C მოწყობილობის სლავური მისამართი. pi2cdata არის ბუფერის მაჩვენებელი, რომელიც მიიღებს მოწყობილობიდან წაკითხულ მონაცემებს. ეს ბუფერი უნდა დარჩეს მოქმედი წაკითხვის ოპერაციის ხანგრძლივობის განმავლობაში. wSize არის მოწყობილობიდან წასაკითხი ბაიტების რაოდენობა. wSize ასევე აბრუნებს მოწყობილობიდან წაკითხული ბაიტების რაოდენობას. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

3.3 WRDI2C

ფუნქცია wrdi2c(ucSlvAddr: Byte; const pwrdata; wwrSize: WORD; var prddata; var wrdSize, : WORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება RepeatedStart-ით გამოყოფილი I2C მოწყობილობიდან მონაცემების ჩასაწერად და წასაკითხად. ucSlvAddr არის I2C მოწყობილობის სლავური მისამართი. pwrdata არის ბუფერის მაჩვენებელი, რომელიც შეიცავს მოწყობილობაში ჩასაწერ მონაცემებს. ეს ბუფერი უნდა დარჩეს მოქმედი ჩაწერის ოპერაციის ხანგრძლივობის განმავლობაში. wwrSize არის მოწყობილობაში ჩასაწერი ბაიტების რაოდენობა. prddata არის ბუფერის მაჩვენებელი, რომელიც მიიღებს მოწყობილობიდან წაკითხულ მონაცემებს. ეს ბუფერი უნდა დარჩეს მოქმედი წაკითხვის ოპერაციის ხანგრძლივობის განმავლობაში. wrdSize არის მოწყობილობიდან წასაკითხი ბაიტების რაოდენობა. wrdSize ასევე აბრუნებს მოწყობილობიდან წაკითხულ ბაიტებს. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

3.4 ChkSlvAddr

ფუნქცია chkslvaddr(ucslvaddr: Byte; var ucConnected: byte; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება იმის შესამოწმებლად, არის თუ არა მონის მისამართი ucSlvAddr დაკავშირებულია I2C ავტობუსთან. თუ ucConnected აბრუნებს 0, მოწყობილობა არ არის დაკავშირებული. თუ ucConnected აბრუნებს 1-ს, მოწყობილობა დაკავშირებულია I2C ავტობუსთან. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

3.5 ScanI2C

ფუნქცია scani2c(var pscandata; var ucSize : byte; dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება I2C ავტობუსის სკანირებისთვის იმ მოწყობილობებისთვის, რომლებიც ამჟამად დაკავშირებულია ავტობუსთან. pscandata არის ბუფერის მაჩვენებელი, რომელიც იღებს აღმოჩენილი სლავური მისამართების (მოწყობილობების) სიას. ეს ბუფერი უნდა დარჩეს მოქმედი სკანირების ოპერაციის ხანგრძლივობის განმავლობაში. ucSize აბრუნებს აღმოჩენილი მოწყობილობების რაოდენობას. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

3.6 SetSCL

ფუნქცია setscl(dwfreq : DWORD; dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება I2C საათის სიხშირის ახალი მნიშვნელობის დასაყენებლად. dwfreq არის ახალი სიხშირე ([Hz]-ში) 500Hz-დან 400kHz-მდე დიაპაზონში. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

3.7 GetSCL

ფუნქცია getscl(var dwfreq : DWORD; dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება I2C საათის სიხშირის მიმდინარე მნიშვნელობის წასაკითხად. dwfreq არის სიხშირე ([Hz]-ში) 500Hz-დან 400kHz-მდე დიაპაზონში. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

3.8 SetIRQ

ფუნქცია setirq(ucIRQMode : Byte; dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება IRQ რეჟიმის დასაყენებლად MASTER MODE-ში მუშაობისას. ადაპტერს აქვს შეფერხების შეყვანა. მაგალითად, თუ გამოიყენება IO-Expander და მისი შეფერხების გამომავალი დაკავშირებულია ადაპტერის შეფერხების შეყვანასთან, მაშინ პროგრამული უზრუნველყოფა ამოიცნობს IO-Expander-ის ყველა მოვლენას, როდესაც იცვლება IO-ების მდგომარეობა. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

შესაძლო მნიშვნელობები ucIRQ რეჟიმი:
0: გამორთეთ შეფერხება.
1: ჩართეთ შეფერხება. შეწყვეტა მგრძნობიარეა დაცემის ზღვარზე.
2: ჩართეთ შეფერხება. შეწყვეტა მგრძნობიარეა ამომავალი კიდეზე.

4 SLAVE MODE ფუნქცია
4.1 SetI2CSlvAddr

ფუნქცია seti2cslvaddr(var ucslvaddr : Byte; dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება Slave MODE-ში მუშაობის დროს slave მისამართის შესაცვლელად. ucslvaddr არის ადაპტერის ახალი სლავური მისამართი. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

4.2 WriteI2CSlaveBuf

ფუნქცია writei2cslvbuf(const pi2cdata; wSize: WORD; ucEvent: Byte; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება მონაცემების ჩასაწერად I2C გამომავალი ბუფერში. pi2cdata არის მაჩვენებელი ბუფერზე, რომელიც შეიცავს ბუფერში ჩასაწერ მონაცემებს. ეს ბუფერი უნდა დარჩეს მოქმედი ჩაწერის ოპერაციის ხანგრძლივობის განმავლობაში. wSize (მაქს. 1024 ბაიტი) არის ბუფერში ჩასაწერი ბაიტების რაოდენობა. თუ ucEvent დაყენებულია 1-ზე, ადაპტერი უგზავნის შეფერხების სიგნალს მასტერს. ამ გზით, ადაპტერი აცნობებს მასტერს, რომ მონაცემები მზად არის წასაკითხად. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.

5. შეცდომის კოდები

RET_OK = $00000000;
ERR_UNABLE_TO_CONNECT = $00010001;
ERR_UNABLE_TO_DISCONNECT = $00010002;
ERR_DISCONNECTED = $00010003;
ERR_COMM_UNKNOWN = $00020000;
ERR_NET_WRITE = $00020001;
ERR_NET_READ_TIMEOUT = $00020002;
ERR_NET_READ_WAIT_FAILED = $00020003;
ERR_NET_READ_WAIT_ABANDONED = $00020004;
ERR_NET_IO_CALLBACK = $00020005;
ERR_RD_TH_TIMEOUT = $00030001;
ERR_RD_TH_WAIT_FAILED = $00030002;
ERR_RD_TH_WAIT_ABANDONED = $00030003;
ERR_CREATE_SYNC_EVENT = $00040001;
ERR_IO_TO_TH_PULSEEVENT = $00040002;
ERR_TH_TO_IO_SETEVENT = $00040003;
ERR_TH_TO_IO_RESETEVENT = $00040004;
ERR_IO_TO_TH_SETEVENT = $00040005;
ERR_CREATE_MMF_HANDLE = $00050001;
ERR_CREATE_MMF = $00050002;
ERR_CREATE_MMF_LOCK_HANDLE = $00050003;
ERR_LOCK_MMF = $00050004;
ERR_MMF_MAX_APP_NUM_REACHED = $00050005;
ERR_WRI2C_FAILED = $00070001;
ERR_RDI2C_FAILED = $00070002;
ERR_WRI2C_INVALID_SIZE = $00070003;
ERR_RDI2C_INVALID_SIZE = $00070004;
ERR_INVALID_SCL_FREQUENCY = $00070005;
ERR_I2C_ERROR = $00070020;
ERR_I2C_ARBLOST = $00070021;
ERR_I2C_BUS_ERROR = $00070022;
ERR_I2C_INVALID_WLEN = $00070023;
ERR_I2C_INVALID_RLEN = $00070024;
ERR_I2C_NAK_WADDR = $00070025;
ERR_I2C_NAK_RADDR = $00070026;
ERR_I2C_NAK_WDAT = $00070027;
ERR_I2C_TIMEOUT = $00070028;
ERR_I2C_BUSY = $00070029;
ERR_I2C_DEVICE_NOT_CONNECTED = $0007002A;
ERR_HW_UNKNOWN = $00080000;
ERR_MEMORY_WRITE_FAILED = $00080001;
ERR_MEMORY_READ_FAILED = $00080002;
ERR_MEMORY_RESTRICTED = $00080003;
ERR_MEMORY_Protected = $00080004;
ERR_MEMORY_INVALID_ADDR = $00080005;
ERR_MEMORY_INVALID_SIZE = $00080006;
ERR_SAVE_SETTINGS_FAILED = $00080007;
ERR_RESET_SETTINGS_FAILED = $00080008;
ERR_VM_COMM = $00090001;
ERR_VM_RUNNING = $00090002;
ERR_VM_ABORTED = $00090003;
ERR_VM_CODE_ADDR = $00090004;
ERR_VM_CODE_SIZE = $00090005;
ERR_VM_CODE_CHECKSUM = $00090006;
ERR_VM_CODE_NOT_LOADED = $00090007;
ERR_VM_IRQ_DATA_SIZE = $00090008;
ERR_VM_IRQ_REQUEST = $00090009;
ERR_UNKNOWN_CMDID = $000F0001;
ERR_UNKNOWN_CMD = $000F0002;
ERR_MODE_CMD = $000F0003;

გადასინჯვის ისტორია
რევ. თარიღი აღწერა
1.0 05 2022 ივლისი დინამიური ბმული ბიბლიოთეკის TCP/IP – I2C-ის საწყისი გამოშვება

2022 Coptonix GmbH Rev 1.0 / 2022 წლის ივლისი

დოკუმენტები / რესურსები

COPTONIX LANIICVM.DLL LAN I2C ადაპტერი VM [pdf] მომხმარებლის სახელმძღვანელო
LANIICVM.DLL, LAN I2C ადაპტერი VM, LANIICVM.DLL LAN I2C ადაპტერი VM

ცნობები

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი არ გამოქვეყნდება. მონიშნულია აუცილებელი ველები *