2'      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ (c) Marc Fontaine 2017BSD3Marc.Fontaine@gmx.de experimentalGHC-onlyNone(c) Marc Fontaine 2017BSD3Marc.Fontaine@gmx.de experimentalGHC-onlySafe!"K>APIV1 is NOT supported ! Todo remove old APIV1 stuff. | todo Q  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWN  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTQNOPQRWKLMJ)*+,-./0123456789:;<=>?@ABCDEFGHIV!"#$%&'( US T   !"#$%&'() *+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW(c) Marc Fontaine 2017BSD3Marc.Fontaine@gmx.de experimentalGHC-onlyNone!"OTfghijklmnopqrstuvwxyz{|}~fghkijlmopqrtnsuvwxyz{|}~vuwxyzlmnopqrst{ghijkf|}~ fghijklmnopqrstuvwxyz{|}~(c) Marc Fontaine 2017BSD3Marc.Fontaine@gmx.de experimentalGHC-onlyNone!"OT (c) Marc Fontaine 2017BSD3Marc.Fontaine@gmx.de experimentalGHC-onlyNoneOTgInit the dongle and set debug mode. A Haskell translation of the same function in the openocd library. (c) Marc Fontaine 2017BSD3Marc.Fontaine@gmx.de experimentalGHC-onlyNoneOT(c) Marc Fontaine 2017BSD3Marc.Fontaine@gmx.de experimentalGHC-onlyNone (c) Marc Fontaine 2017BSD3Marc.Fontaine@gmx.de experimentalGHC-onlyNoneOTUTest the dongle and connection to the board. This test fails if no board is attached (c) Marc Fontaine 2017BSD3Marc.Fontaine@gmx.de experimentalGHC-onlyNone!"OT (c) Marc Fontaine 2017BSD3Marc.Fontaine@gmx.de experimentalGHC-onlyNoneOTfgluvwvulwgf    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYYZ[\]^_`abcdefghijklmnopqrstuvvwxyz{|}~  &STLinkUSB-0.1.1-JhyK9Ws4RFkCMPFokOpazOSTM32.STLinkUSB.USBUtilsSTM32.STLinkUSB.CommandsSTM32.STLinkUSB.EnvSTM32.STLinkUSB.USBXferSTM32.STLinkUSB.DongleSTM32.STLinkUSB.MemRWSTM32.STLinkUSB.CortexMSTM32.STLinkUSB.TestSTM32.STLinkUSB.TwoBoardsSTM32.STLinkUSBfindDefaultEndpointsfindUSBDevicesdefaultSTLProductID findEndpointswithUSBusbReadTimeoutusbWriteTimeoutStatus DEBUG_ERR_OKDEBUG_ERR_FAULT SWD_AP_WAIT SWD_AP_FAULT SWD_AP_ERRORSWD_AP_PARITY_ERRORJTAG_WRITE_ERRORJTAG_WRITE_VERIF_ERROR SWD_DP_WAIT SWD_DP_FAULT SWD_DP_ERRORSWD_DP_PARITY_ERRORSWD_AP_WDATA_ERRORSWD_AP_STICKY_ERRORSWD_AP_STICKYORUN_ERROR UnknownStatusDevMode DEV_DFU_MODE DEV_MASS_MODEDEV_DEBUG_MODE DEV_SWIM_MODEDEV_BOOTLOADER_MODESWIM_Cmd SWIM_ENTER SWIM_EXITCmd GET_VERSION DEBUG_COMMANDDEBUG_COMMANDsDFU_COMMAND_EXIT SWIM_COMMANDGET_CURRENT_MODEGET_TARGET_VOLTAGEDebugCmd ENTER_JTAG GETSTATUS FORCEDEBUG READMEM_32BITWRITEMEM_32BITRUNCORESTEPCORE READMEM_8BIT WRITEMEM_8BIT APIV1_CLEARFPAPIV1_SETWATCHPOINT ENTER_SWDEXIT READCOREID APIV1_SETFPENTERAPIV2_READ_IDCODESRESETSYSREADREGWRITEREG WRITEDEBUGREGAPIV2_READDEBUGREG READALLREGSGETLASTRWSTATUSAPIV2_DRIVE_NRSTAPIV2_START_TRACE_RXAPIV2_STOP_TRACE_RXAPIV2_GET_TRACE_NBAPIV2_SWD_SET_FREQAPIV2_DRIVE_NRST_LOWAPIV2_DRIVE_NRST_HIGHAPIV2_DRIVE_NRST_PULSEAddrAPIAPIV1APIV2VersionstlinkjtagswimcmdToByteStringtoStatus $fBinaryCmd$fBinaryDebugCmd$fBinaryVersion $fShowVersion $fShowAPI$fEqAPI$fShowDebugCmd $fEqDebugCmd$fShowSWIM_Cmd $fShowCmd $fShowDevMode $fEqDevMode $fOrdDevMode $fEnumDevMode $fShowStatus $fEqStatus $fOrdStatusLoggerLogLevelDebugInfoWarnError STLinkEnvusbCtx rxEndpoint txEndpoint traceEndpoint deviceHandle dongleAPI debugLoggerSTLSTLT runSTLinkrunSTLink_verbose runSTLink' runSTLinkWith asksDongleAPIdebugSTLdefaultDebugLoggerverboseDebugLogger$fShowLogLevel $fEqLogLevel $fOrdLogLevel XferStatusXferOK XferRetryXferDongleError XferUSBError writeBulkSTL readBulkSTL xferStatus xferBulkWritexfer xferRetry xferReadTrace$fShowXferStatus$fEqXferStatusModeMODE_DFU MODE_MASSMODE_DEBUG_JTAGMODE_DEBUG_SWDMODE_DEBUG_SWIM initDonglereset readVersion readVoltagereadCurrentMode modeEnter modeLeave writeDebugReg dumpTrace $fShowMode$fEqMode $fOrdMode $fEnumMode TransferLen_unTransferLen TransferBlock_unTransferBlock checkRWStatusmaxTransferBlocksizeunsafeToTransferBlockunsafeToTransferLen writeMem8' writeMem32' readMem8' readMem32' writeMem8 writeMem32 writeChunkschunkBS chunkAddr readChunksreadMem8 readMem32$fShowTransferBlock$fShowTransferLenhalt resetHaltrun readCpuID_CPUID _DCB_DHCSR _DCB_DCRSR _DCB_DCRDR _DCB_DEMCR_DBGKEY _C_DEBUGEN_C_HALTtestSTLTT runSTLinkABrunSTLinkAB_verbose runSTLinkAB'runSTLinkWithAB taggedLoggerboardAboardB testTwoBoards