diff --git a/blackbox/Usb/Mod/BDI.otd b/blackbox/Usb/Mod/BDI.otd index 5943a54..f7dc8d0 100644 --- a/blackbox/Usb/Mod/BDI.otd +++ b/blackbox/Usb/Mod/BDI.otd @@ -2,31 +2,31 @@ MODULE UsbBDI; IMPORT SYS := SYSTEM, BDI := UsbBDIDll, Log := StdLog, ComTools, WinApi, Services, TextModels, Ports, Files, HostFiles; - CONST + CONST ttDefaultPeriod = 500; (*500 ms*) ttPipeHandDisconnected = -1; nul = 0X; - ascLf = 0AX; ascCr = 0DX; - CONST + ascLf = 0AX; ascCr = 0DX; + CONST FALSE_ = 0; - PATH_LENGTH* = 512; + PATH_LENGTH* = 512; - CONST + CONST JAVA_OUT_FILENAME = "JavaOut.txt"; JAVA_ERR_FILENAME = "JavaErr.txt"; INVALID_HANDLE_VALUE = -1; STD_OUT_COLOR = Ports.green; STD_ERR_COLOR = Ports.grey50; JAVA_OUT_COLOR = Ports.blue; - JAVA_ERR_COLOR = Ports.red; + JAVA_ERR_COLOR = Ports.red; - CONST - MAX_UART_DATA_LENGTH* = BDI.MAX_UART_DATA_LENGTH; + CONST + MAX_UART_DATA_LENGTH* = BDI.MAX_UART_DATA_LENGTH; - CONST + CONST PATH_SEPERATOR = "\"; - CLASSPATH = "Usb\Rsrc\usbpdi.jar"; + CLASSPATH = "Usb\Rsrc\usbpdi.jar"; - TYPE + TYPE StdReaderWriter = POINTER TO ABSTRACT RECORD (Services.Action) stdIoText: TextModels.Model; stdIoTextPos: INTEGER; time, endTime: LONGINT; period: INTEGER; @@ -36,25 +36,25 @@ MODULE UsbBDI; JvmReaderWriter = POINTER TO EXTENSIBLE RECORD (StdReaderWriter) errText: TextModels.Model; stdIoWriter, stdErrWriter: TextModels.Writer; hJavaOut, hJavaErr: WinApi.HANDLE; - END; + END; - VAR + VAR bool: BDI.BOOL; Done-, deviceOpen, jvmCreated: BOOLEAN; (** previous operation successfully completed *) - readerWriter: JvmReaderWriter; + readerWriter: JvmReaderWriter; (* ----------- Standard-IO / Java ReaderWriter --------------- *) - PROCEDURE (task: StdReaderWriter) Clear, NEW, EXTENSIBLE; + PROCEDURE (task: StdReaderWriter) Clear, NEW, EXTENSIBLE; BEGIN task.stdIoText := NIL; task.stdIoTextPos := 0; task.hStdOut := ttPipeHandDisconnected; task.hStdErr := ttPipeHandDisconnected; task.time := 0; task.endTime := 0; task.period := 0; task.connected := FALSE; task.running := FALSE; task.prevChar := nul; - END Clear; + END Clear; - PROCEDURE (task: StdReaderWriter) Stop, NEW, EXTENSIBLE; + PROCEDURE (task: StdReaderWriter) Stop, NEW, EXTENSIBLE; VAR done: WinApi.BOOL; BEGIN Services.RemoveAction(task); task.running := FALSE; @@ -63,70 +63,70 @@ MODULE UsbBDI; done := WinApi.CloseHandle(task.hStdErr); END; task.Clear - END Stop; + END Stop; - PROCEDURE (task: StdReaderWriter) SetTime (startFromNow, period, timeOut: INTEGER), NEW; + PROCEDURE (task: StdReaderWriter) SetTime (startFromNow, period, timeOut: INTEGER), NEW; BEGIN task.time := Services.Ticks() + startFromNow; IF timeOut <= 0 THEN timeOut := MAX(INTEGER) END; task.endTime := task.time + LONG(timeOut) * Services.resolution DIV 1000; task.period := period - END SetTime; + END SetTime; - PROCEDURE (task: StdReaderWriter) ConnectStdOutPipe (hStdOut: WinApi.HANDLE), NEW; + PROCEDURE (task: StdReaderWriter) ConnectStdOutPipe (hStdOut: WinApi.HANDLE), NEW; VAR done: WinApi.BOOL; BEGIN IF task.connected & (task.hStdOut # hStdOut) THEN done := WinApi.CloseHandle(task.hStdOut) END; task.hStdOut := hStdOut; task.connected := TRUE - END ConnectStdOutPipe; + END ConnectStdOutPipe; - PROCEDURE (task: StdReaderWriter) ConnectStdErrPipe (hStdErr: WinApi.HANDLE), NEW; + PROCEDURE (task: StdReaderWriter) ConnectStdErrPipe (hStdErr: WinApi.HANDLE), NEW; VAR done: WinApi.BOOL; BEGIN IF task.connected & (task.hStdErr # hStdErr) THEN done := WinApi.CloseHandle(task.hStdErr) END; task.hStdErr := hStdErr; task.connected := TRUE - END ConnectStdErrPipe; + END ConnectStdErrPipe; PROCEDURE (task: StdReaderWriter) Start, NEW, ABSTRACT; - PROCEDURE NewJvmReaderWriter ( ): JvmReaderWriter; + PROCEDURE NewJvmReaderWriter ( ): JvmReaderWriter; VAR rec: JvmReaderWriter; BEGIN NEW(rec); rec.Clear; RETURN rec - END NewJvmReaderWriter; + END NewJvmReaderWriter; - PROCEDURE (rec: JvmReaderWriter) Clear, EXTENSIBLE; + PROCEDURE (rec: JvmReaderWriter) Clear, EXTENSIBLE; VAR done: WinApi.BOOL; BEGIN rec.Clear^; rec.errText := NIL; rec.stdIoWriter := NIL; rec.stdErrWriter := NIL; rec.hJavaOut := ttPipeHandDisconnected; rec.hJavaErr := ttPipeHandDisconnected; - END Clear; + END Clear; - PROCEDURE (rec: JvmReaderWriter) Stop, EXTENSIBLE; + PROCEDURE (rec: JvmReaderWriter) Stop, EXTENSIBLE; VAR done: WinApi.BOOL; BEGIN IF rec.connected THEN rec.Stop^; done := WinApi.CloseHandle(rec.hJavaErr); done := WinApi.CloseHandle(rec.hJavaOut) END; rec.Clear - END Stop; + END Stop; - PROCEDURE (rec: JvmReaderWriter) ConnectJavaOutPipe (hJavaOut: WinApi.HANDLE), NEW; + PROCEDURE (rec: JvmReaderWriter) ConnectJavaOutPipe (hJavaOut: WinApi.HANDLE), NEW; VAR done: WinApi.BOOL; BEGIN IF rec.connected & (rec.hJavaOut # hJavaOut) THEN done := WinApi.CloseHandle(rec.hJavaOut) END; rec.hJavaOut := hJavaOut; rec.connected := TRUE - END ConnectJavaOutPipe; + END ConnectJavaOutPipe; - PROCEDURE (rec: JvmReaderWriter) ConnectJavaErrPipe (hJavaErr: WinApi.HANDLE), NEW; + PROCEDURE (rec: JvmReaderWriter) ConnectJavaErrPipe (hJavaErr: WinApi.HANDLE), NEW; VAR done: WinApi.BOOL; BEGIN IF rec.connected & (rec.hJavaErr # hJavaErr) THEN done := WinApi.CloseHandle(rec.hJavaErr) END; rec.hJavaErr := hJavaErr; rec.connected := TRUE - END ConnectJavaErrPipe; + END ConnectJavaErrPipe; - PROCEDURE (rec: JvmReaderWriter) Start; + PROCEDURE (rec: JvmReaderWriter) Start; VAR handle, stdOutHandle, stdErrHandle: WinApi.HANDLE; BEGIN IF rec.running THEN rec.Stop END; @@ -166,9 +166,9 @@ MODULE UsbBDI; END; rec.running := TRUE; Services.DoLater(rec, rec.time) - END Start; + END Start; - PROCEDURE (rec: JvmReaderWriter) Do; + PROCEDURE (rec: JvmReaderWriter) Do; VAR outModel: TextModels.Model; n, ioDone, errDone, nofBytesRead, ioBytesAvail, errBytesAvail, exitCode: INTEGER; @@ -259,11 +259,11 @@ MODULE UsbBDI; END; INC( rec.time, rec.period ); Services.DoLater(rec, rec.time ) END; - END Do; + END Do; (* ----------- JVM --------------- *) - PROCEDURE CreateJVM (classpath: ARRAY OF SHORTCHAR); + PROCEDURE CreateJVM (classpath: ARRAY OF SHORTCHAR); VAR string: WinApi.PtrSTR; BEGIN string := ComTools.NewSString(classpath); @@ -283,9 +283,9 @@ MODULE UsbBDI; readerWriter.Start(); END; ComTools.FreeSString(string); - END CreateJVM; + END CreateJVM; - PROCEDURE DestroyJVM ; + PROCEDURE DestroyJVM ; BEGIN bool := BDI.destroyJVM(); IF bool = FALSE_ THEN @@ -296,57 +296,68 @@ MODULE UsbBDI; Log.String("JVM destroyed"); Log.Ln; END; jvmCreated := FALSE; - END DestroyJVM; + END DestroyJVM; - PROCEDURE CheckForExceptions * (): BOOLEAN; + PROCEDURE CheckForExceptions * (): BOOLEAN; BEGIN RETURN (BDI.checkForExceptions() # FALSE_) - END CheckForExceptions; + END CheckForExceptions; (* ----------- USB --------------- *) - PROCEDURE USB_Device_open ; + PROCEDURE USB_Device_open ; BEGIN BDI.USB_Device_open; Done := ~CheckForExceptions(); IF Done THEN deviceOpen := TRUE; END - END USB_Device_open; + END USB_Device_open; - PROCEDURE USB_Device_close ; + PROCEDURE USB_Device_close ; BEGIN BDI.USB_Device_close; Done := ~CheckForExceptions(); deviceOpen := FALSE; - END USB_Device_close; + END USB_Device_close; - PROCEDURE USB_Device_reset * ; + PROCEDURE USB_Device_reset * ; BEGIN BDI.USB_Device_reset; Done := ~CheckForExceptions(); deviceOpen := FALSE; - END USB_Device_reset; + END USB_Device_reset; + PROCEDURE USB_Device_getMaxPacketSize * (): INTEGER; + VAR val: INTEGER; + BEGIN + IF deviceOpen THEN + Done := TRUE; + RETURN BDI.USB_Device_getMaxPacketSize(); + ELSE + Done := FALSE; + RETURN - 1 + END + END USB_Device_getMaxPacketSize; (* --------- UART0 ----------------- *) - PROCEDURE UART0_read * (VAR data: ARRAY OF SHORTCHAR; VAR length: INTEGER): BOOLEAN; + PROCEDURE UART0_read * (VAR data: ARRAY OF SHORTCHAR; VAR length: INTEGER): BOOLEAN; BEGIN length := BDI.UART0_read(data); RETURN length # FALSE_; - END UART0_read; + END UART0_read; - PROCEDURE UART0_write * (VAR data: ARRAY OF SHORTCHAR; length: INTEGER): BOOLEAN; + PROCEDURE UART0_write * (VAR data: ARRAY OF SHORTCHAR; length: INTEGER): BOOLEAN; VAR result: INTEGER; BEGIN RETURN BDI.UART0_write(SYS.ADR(data[0]), length) # FALSE_; - END UART0_write; + END UART0_write; (* -------------- Helper Functions ------------------*) - PROCEDURE GetUserStartUpPath (VAR startupPath: ARRAY OF SHORTCHAR); + PROCEDURE GetUserStartUpPath (VAR startupPath: ARRAY OF SHORTCHAR); VAR userStartUpLocator: Files.Locator; userStartUpHostLoc: HostFiles.Locator; startupPathChar: ARRAY PATH_LENGTH OF CHAR; @@ -357,10 +368,10 @@ MODULE UsbBDI; FOR i := 0 TO LEN(startupPathChar) - 1 DO startupPath[i] := SYS.VAL(SHORTCHAR, startupPathChar[i]); END - END GetUserStartUpPath; + END GetUserStartUpPath; - PROCEDURE ConnectDevice * ; + PROCEDURE ConnectDevice * ; VAR startupPath: ARRAY PATH_LENGTH OF SHORTCHAR; BEGIN @@ -377,16 +388,17 @@ MODULE UsbBDI; END; BDI.USB_Device_open; IF ~Done THEN HALT(78) END; + deviceOpen := TRUE; END - END ConnectDevice; + END ConnectDevice; - PROCEDURE DeviceOpen * (): BOOLEAN ; + PROCEDURE DeviceOpen * (): BOOLEAN ; BEGIN RETURN deviceOpen - END DeviceOpen; + END DeviceOpen; (* Close and reopen the device *) - PROCEDURE ReopenDevice * ; + PROCEDURE ReopenDevice * ; BEGIN USB_Device_close; USB_Device_open; @@ -395,7 +407,7 @@ MODULE UsbBDI; ELSE Log.String("Error while opening Device"); Log.Ln; END - END ReopenDevice; + END ReopenDevice; BEGIN deviceOpen := FALSE; diff --git a/blackbox/Usb/Mod/BDIDll.otd b/blackbox/Usb/Mod/BDIDll.otd index c635298..efbb8a4 100644 --- a/blackbox/Usb/Mod/BDIDll.otd +++ b/blackbox/Usb/Mod/BDIDll.otd @@ -1,175 +1,178 @@ MODULE UsbBDIDll ["BDI.dll"]; IMPORT SYSTEM; - CONST + CONST MAX_NOF_LONGS_FILL* = 84; - MAX_UART_DATA_LENGTH* = 256; + MAX_UART_DATA_LENGTH* = 256; - TYPE + TYPE PtrSTR* = POINTER TO ARRAY [untagged] OF SHORTCHAR; - BOOL* = INTEGER; + BOOL* = INTEGER; (* -------JVM--------- *) - PROCEDURE getErrPipeHandle* (): INTEGER; - (*END getErrPipeHandle; *) + PROCEDURE getErrPipeHandle* (): INTEGER; + (*END getErrPipeHandle; *) - PROCEDURE getOutPipeHandle* (): INTEGER; - (*END getOutPipeHandle; *) + PROCEDURE getOutPipeHandle* (): INTEGER; + (*END getOutPipeHandle; *) - PROCEDURE createJVM* (classpath: PtrSTR): BOOL; - (*END createJVM; *) + PROCEDURE createJVM* (classpath: PtrSTR): BOOL; + (*END createJVM; *) - PROCEDURE destroyJVM* (): INTEGER; - (*END destroyJVM; *) + PROCEDURE destroyJVM* (): INTEGER; + (*END destroyJVM; *) - PROCEDURE checkForExceptions* (): BOOL; - (*END checkForExceptions; *) + PROCEDURE checkForExceptions* (): BOOL; + (*END checkForExceptions; *) (* -------USB--------- *) - PROCEDURE USB_Device_open*; - (*END USB_Device_open; *) + PROCEDURE USB_Device_open*; + (*END USB_Device_open; *) - PROCEDURE USB_Device_close*; - (*END USB_Device_close; *) + PROCEDURE USB_Device_close*; + (*END USB_Device_close; *) - PROCEDURE USB_Device_reset*; - (*END USB_Device_reset; *) + PROCEDURE USB_Device_reset*; + (*END USB_Device_reset; *) + + PROCEDURE USB_Device_getMaxPacketSize* (): INTEGER; + (*END USB_Device_reset; *) (* -------555--------- *) - PROCEDURE BDI555_go*; - (*END BDI555_go; *) + PROCEDURE BDI555_go*; + (*END BDI555_go; *) - PROCEDURE BDI555_break_*; - (*END BDI555_break_; *) + PROCEDURE BDI555_break_*; + (*END BDI555_break_; *) - PROCEDURE BDI555_reset_target*; - (*END BDI555_reset_target; *) + PROCEDURE BDI555_reset_target*; + (*END BDI555_reset_target; *) - PROCEDURE BDI555_isFreezeAsserted* (): BOOL; - (*END BDI555_isFreezeAsserted; *) + PROCEDURE BDI555_isFreezeAsserted* (): BOOL; + (*END BDI555_isFreezeAsserted; *) - PROCEDURE BDI555_startFastDownload* (adr: INTEGER); - (*END BDI555_startFastDownload; *) + PROCEDURE BDI555_startFastDownload* (adr: INTEGER); + (*END BDI555_startFastDownload; *) - PROCEDURE BDI555_fastDownload* (downloadData: (* ARRAY OF *) INTEGER; dataLength: INTEGER); - (*END BDI555_fastDownload; *) + PROCEDURE BDI555_fastDownload* (downloadData: (* ARRAY OF *) INTEGER; dataLength: INTEGER); + (*END BDI555_fastDownload; *) - PROCEDURE BDI555_stopFastDownload*; - (*END BDI555_stopFastDownload; *) + PROCEDURE BDI555_stopFastDownload*; + (*END BDI555_stopFastDownload; *) - PROCEDURE BDI555_writeMem* (addr, value, size: INTEGER); - (*END BDI555_writeMem; *) + PROCEDURE BDI555_writeMem* (addr, value, size: INTEGER); + (*END BDI555_writeMem; *) - PROCEDURE BDI555_readMem* (addr, size: INTEGER): INTEGER; - (*END BDI555_readMem; *) + PROCEDURE BDI555_readMem* (addr, size: INTEGER): INTEGER; + (*END BDI555_readMem; *) - PROCEDURE BDI555_writeMemSeq* (value, size: INTEGER); - (*END BDI555_writeMemSeq; *) + PROCEDURE BDI555_writeMemSeq* (value, size: INTEGER); + (*END BDI555_writeMemSeq; *) - PROCEDURE BDI555_readMemSeq* (size: INTEGER): INTEGER; - (*END BDI555_readMemSeq; *) + PROCEDURE BDI555_readMemSeq* (size: INTEGER): INTEGER; + (*END BDI555_readMemSeq; *) - PROCEDURE BDI555_readGPR* (gpr: INTEGER): INTEGER; - (*END BDI555_readGPR; *) + PROCEDURE BDI555_readGPR* (gpr: INTEGER): INTEGER; + (*END BDI555_readGPR; *) - PROCEDURE BDI555_writeGPR* (gpr, value: INTEGER); - (*END BDI555_writeGPR; *) + PROCEDURE BDI555_writeGPR* (gpr, value: INTEGER); + (*END BDI555_writeGPR; *) - PROCEDURE BDI555_readSPR* (spr: INTEGER): INTEGER; - (*END BDI555_readSPR; *) + PROCEDURE BDI555_readSPR* (spr: INTEGER): INTEGER; + (*END BDI555_readSPR; *) - PROCEDURE BDI555_writeSPR* (spr, value: INTEGER); - (*END BDI555_writeSPR; *) + PROCEDURE BDI555_writeSPR* (spr, value: INTEGER); + (*END BDI555_writeSPR; *) - PROCEDURE BDI555_readMSR* (): INTEGER; - (*END BDI555_readMSR; *) + PROCEDURE BDI555_readMSR* (): INTEGER; + (*END BDI555_readMSR; *) - PROCEDURE BDI555_writeMSR* (value: INTEGER); - (*END BDI555_writeMSR; *) + PROCEDURE BDI555_writeMSR* (value: INTEGER); + (*END BDI555_writeMSR; *) - PROCEDURE BDI555_readFPR* (fpr, tmpMemAddr: INTEGER): LONGINT; - (*END BDI555_readFPR; *) + PROCEDURE BDI555_readFPR* (fpr, tmpMemAddr: INTEGER): LONGINT; + (*END BDI555_readFPR; *) - PROCEDURE BDI555_writeFPR* (fpr, tmpMemAddr: INTEGER; value: LONGINT); - (*END BDI555_writeFPR; *) + PROCEDURE BDI555_writeFPR* (fpr, tmpMemAddr: INTEGER; value: LONGINT); + (*END BDI555_writeFPR; *) - PROCEDURE BDI555_readCR* (): INTEGER; - (*END BDI555_readCR; *) + PROCEDURE BDI555_readCR* (): INTEGER; + (*END BDI555_readCR; *) - PROCEDURE BDI555_writeCR* (value: INTEGER); - (*END BDI555_writeCR; *) + PROCEDURE BDI555_writeCR* (value: INTEGER); + (*END BDI555_writeCR; *) - PROCEDURE BDI555_readFPSCR* (): INTEGER; - (*END BDI555_readFPSCR; *) + PROCEDURE BDI555_readFPSCR* (): INTEGER; + (*END BDI555_readFPSCR; *) - PROCEDURE BDI555_writeFPSCR* (value: INTEGER); - (*END BDI555_writeFPSCR; *) + PROCEDURE BDI555_writeFPSCR* (value: INTEGER); + (*END BDI555_writeFPSCR; *) - PROCEDURE BDI555_isTargetInDebugMode* (): BOOL; - (*END BDI555_isTargetInDebugMode; *) + PROCEDURE BDI555_isTargetInDebugMode* (): BOOL; + (*END BDI555_isTargetInDebugMode; *) - PROCEDURE BDI555_setGpr31* (gpr31: INTEGER); - (*END BDI555_setGpr31; *) + PROCEDURE BDI555_setGpr31* (gpr31: INTEGER); + (*END BDI555_setGpr31; *) (* -------332--------- *) - PROCEDURE BDI332_nopsToLegalCmd*; - (*END BDI332_nopsToLegalCmd; *) + PROCEDURE BDI332_nopsToLegalCmd*; + (*END BDI332_nopsToLegalCmd; *) - PROCEDURE BDI332_go*; - (*END BDI332_go; *) + PROCEDURE BDI332_go*; + (*END BDI332_go; *) - PROCEDURE BDI332_break_*; - (*END BDI332_break_; *) + PROCEDURE BDI332_break_*; + (*END BDI332_break_; *) - PROCEDURE BDI332_reset_target*; - (*END BDI332_reset_target; *) + PROCEDURE BDI332_reset_target*; + (*END BDI332_reset_target; *) - PROCEDURE BDI332_reset_peripherals*; - (*END BDI332_reset_peripherals; *) + PROCEDURE BDI332_reset_peripherals*; + (*END BDI332_reset_peripherals; *) - PROCEDURE BDI332_isFreezeAsserted* (): BOOL; - (*END BDI332_isFreezeAsserted; *) + PROCEDURE BDI332_isFreezeAsserted* (): BOOL; + (*END BDI332_isFreezeAsserted; *) - PROCEDURE BDI332_fillMem* (downloadData: (* ARRAY OF *) INTEGER; dataLength: INTEGER); - (*END BDI332_fillMem; *) + PROCEDURE BDI332_fillMem* (downloadData: (* ARRAY OF *) INTEGER; dataLength: INTEGER); + (*END BDI332_fillMem; *) - PROCEDURE BDI332_dumpMem* (nofData: INTEGER; VAR result: ARRAY OF INTEGER): INTEGER; + PROCEDURE BDI332_dumpMem* (nofData: INTEGER; VAR result: ARRAY OF INTEGER): INTEGER; (* PROCEDURE BDI332_dumpMem* (nofData: INTEGER; VAR result: ARRAY [untagged] MAX_NOF_LONGS_FILL OF INTEGER): INTEGER; *) - (*END BDI332_dumpMem; *) + (*END BDI332_dumpMem; *) - PROCEDURE BDI332_writeMem* (addr, value, size: INTEGER); - (*END BDI332_writeMem; *) + PROCEDURE BDI332_writeMem* (addr, value, size: INTEGER); + (*END BDI332_writeMem; *) - PROCEDURE BDI332_readMem* (addr, size: INTEGER): INTEGER; - (*END BDI332_readMem; *) + PROCEDURE BDI332_readMem* (addr, size: INTEGER): INTEGER; + (*END BDI332_readMem; *) - PROCEDURE BDI332_readUserReg* (reg: INTEGER): INTEGER; - (*END BDI332_readUserReg; *) + PROCEDURE BDI332_readUserReg* (reg: INTEGER): INTEGER; + (*END BDI332_readUserReg; *) - PROCEDURE BDI332_writeUserReg* (reg, value: INTEGER); - (*END BDI332_writeUserReg; *) + PROCEDURE BDI332_writeUserReg* (reg, value: INTEGER); + (*END BDI332_writeUserReg; *) - PROCEDURE BDI332_readSysReg* (reg: INTEGER): INTEGER; - (*END BDI332_readSysReg; *) + PROCEDURE BDI332_readSysReg* (reg: INTEGER): INTEGER; + (*END BDI332_readSysReg; *) - PROCEDURE BDI332_writeSysReg* (reg, value: INTEGER); - (*END BDI332_writeSysReg; *) + PROCEDURE BDI332_writeSysReg* (reg, value: INTEGER); + (*END BDI332_writeSysReg; *) - PROCEDURE BDI332_isTargetInDebugMode* (): BOOL; - (*END BDI332_isTargetInDebugMode; *) + PROCEDURE BDI332_isTargetInDebugMode* (): BOOL; + (*END BDI332_isTargetInDebugMode; *) (* ------ UART0 ------ *) - PROCEDURE UART0_read* (VAR data: ARRAY [untagged] OF SHORTCHAR): INTEGER; - (*END UART0_read; *) + PROCEDURE UART0_read* (VAR data: ARRAY [untagged] OF SHORTCHAR): INTEGER; + (*END UART0_read; *) - PROCEDURE UART0_write* (data: (* ARRAY OF SHORTCHAR *) INTEGER; length: INTEGER): BOOL; - (*END UART0_write; *) + PROCEDURE UART0_write* (data: (* ARRAY OF SHORTCHAR *) INTEGER; length: INTEGER): BOOL; + (*END UART0_write; *) END UsbBDIDll. diff --git a/blackbox/Usb/Rsrc/usbpdi.jar b/blackbox/Usb/Rsrc/usbpdi.jar index 09df148..139200e 100644 Binary files a/blackbox/Usb/Rsrc/usbpdi.jar and b/blackbox/Usb/Rsrc/usbpdi.jar differ