MODULE UsbBDI555; IMPORT SYS := SYSTEM, BDI := UsbBDIDll, BDIMain := UsbBDI, WinApi; CONST FALSE_ = 0; CONST MAX_NOF_LONGS_FILL* = BDI.MAX_NOF_LONGS_FILL; VAR Done-: BOOLEAN; (* ----------- 555 --------------- *) PROCEDURE go * ; BEGIN BDI.BDI555_go; Done := ~BDIMain.CheckForExceptions() END go; PROCEDURE break_ * ; BEGIN BDI.BDI555_break_; Done := ~BDIMain.CheckForExceptions() END break_; PROCEDURE reset_target * ; BEGIN BDI.BDI555_reset_target; Done := ~BDIMain.CheckForExceptions() END reset_target; PROCEDURE isFreezeAsserted * (): BOOLEAN; VAR result: WinApi.BOOL; BEGIN result := BDI.BDI555_isFreezeAsserted(); Done := ~BDIMain.CheckForExceptions(); RETURN result # FALSE_ END isFreezeAsserted; PROCEDURE startFastDownload * (addr: INTEGER); BEGIN BDI.BDI555_startFastDownload(addr); Done := ~BDIMain.CheckForExceptions() END startFastDownload; PROCEDURE fastDownload * (downloadData: ARRAY OF INTEGER; dataLength: INTEGER); (*VAR i: INTEGER;*) BEGIN (* Log.String("BDI555_fastDownload: length = "); Log.Int(dataLength); Log.Ln; FOR i := 0 TO dataLength - 1 DO Log.Int(downloadData[i]); Log.Tab; END; Log.Ln; *) BDI.BDI555_fastDownload(SYS.ADR(downloadData[0]), dataLength); Done := ~BDIMain.CheckForExceptions() END fastDownload; PROCEDURE stopFastDownload * ; BEGIN BDI.BDI555_stopFastDownload; Done := ~BDIMain.CheckForExceptions() END stopFastDownload; PROCEDURE writeMem * (addr, value, size: INTEGER); BEGIN BDI.BDI555_writeMem(addr, value, size); Done := ~BDIMain.CheckForExceptions() END writeMem; PROCEDURE readMem * (addr, size: INTEGER): INTEGER; VAR result: INTEGER; BEGIN result := BDI.BDI555_readMem(addr, size); Done := ~BDIMain.CheckForExceptions(); RETURN result END readMem; PROCEDURE writeMemSeq * (value, size: INTEGER); BEGIN BDI.BDI555_writeMemSeq(value, size); Done := ~BDIMain.CheckForExceptions() END writeMemSeq; PROCEDURE readMemSeq * (size: INTEGER): INTEGER; VAR result: INTEGER; BEGIN result := BDI.BDI555_readMemSeq(size); Done := ~BDIMain.CheckForExceptions(); RETURN result END readMemSeq; PROCEDURE readGPR * (gpr: INTEGER): INTEGER; VAR result: INTEGER; BEGIN result := BDI.BDI555_readGPR(gpr); Done := ~BDIMain.CheckForExceptions(); RETURN result END readGPR; PROCEDURE writeGPR * (gpr, value: INTEGER); BEGIN BDI.BDI555_writeGPR(gpr, value); Done := ~BDIMain.CheckForExceptions() END writeGPR; PROCEDURE readSPR * (spr: INTEGER): INTEGER; VAR result: INTEGER; BEGIN result := BDI.BDI555_readSPR(spr); Done := ~BDIMain.CheckForExceptions(); RETURN result END readSPR; PROCEDURE writeSPR * (spr, value: INTEGER); BEGIN BDI.BDI555_writeSPR(spr, value); Done := ~BDIMain.CheckForExceptions() END writeSPR; PROCEDURE readMSR * (): INTEGER; VAR result: INTEGER; BEGIN result := BDI.BDI555_readMSR(); Done := ~BDIMain.CheckForExceptions(); RETURN result END readMSR; PROCEDURE writeMSR * (value: INTEGER); BEGIN BDI.BDI555_writeMSR(value); Done := ~BDIMain.CheckForExceptions() END writeMSR; PROCEDURE readFPR * (fpr, tmpMemAddr: INTEGER): LONGINT; VAR result: LONGINT; BEGIN result := BDI.BDI555_readFPR(fpr, tmpMemAddr); Done := ~BDIMain.CheckForExceptions(); RETURN result END readFPR; PROCEDURE writeFPR * (fpr, tmpMemAddr: INTEGER; value: LONGINT); BEGIN BDI.BDI555_writeFPR(fpr, tmpMemAddr, value); Done := ~BDIMain.CheckForExceptions() END writeFPR; PROCEDURE readCR * (): INTEGER; VAR result: INTEGER; BEGIN result := BDI.BDI555_readCR(); Done := ~BDIMain.CheckForExceptions(); RETURN result END readCR; PROCEDURE writeCR * (value: INTEGER); BEGIN BDI.BDI555_writeCR(value); Done := ~BDIMain.CheckForExceptions() END writeCR; PROCEDURE readFPSCR * (): INTEGER; VAR result: INTEGER; BEGIN result := BDI.BDI555_readFPSCR(); Done := ~BDIMain.CheckForExceptions(); RETURN result END readFPSCR; PROCEDURE writeFPSCR * (value: INTEGER); BEGIN BDI.BDI555_writeFPSCR(value); Done := ~BDIMain.CheckForExceptions() END writeFPSCR; PROCEDURE isTargetInDebugMode * (): BOOLEAN; BEGIN RETURN BDI.BDI555_isTargetInDebugMode() # FALSE_; END isTargetInDebugMode; PROCEDURE setGpr31 * (gpr31: INTEGER); BEGIN BDI.BDI555_setGpr31(gpr31); END setGpr31; END UsbBDI555.