Files
qrcode-reader-hardware/utils/debugger_script.ps1
Mysteo91 275752357a --upd
2023-08-17 16:19:53 +03:00

61 lines
1.6 KiB
PowerShell

$dir=$PSScriptRoot
$MyCommand="$dir"+"\stlink\st-info.exe --probe --hot-plug"
Invoke-Expression -Command $MyCommand | Out-String -OutVariable output
$DevicesNum=$output.Substring($output.IndexOf("Found") + 7, 1)
Write-Host -ForegroundColor Yellow -BackgroundColor Blue 'Do you wanna run the script N/Y'
$key=Read-Host
if ($key.ToUpper() -notmatch 'Y')
{
exit
}
if ($DevicesNum -eq 1)
{
$serial=$output.Substring($output.Trim().IndexOf("serial") + 12, 24)
}
elseif ($DevicesNum -eq 0)
{
exit
}
else
{
Write-Host -ForegroundColor Yellow -BackgroundColor Blue 'Press key which number of debugger you wanna use'
$key=Read-Host
$res=$output.Split('.')[$key]
$res=$res.Substring(0, $res.Length-2)
$serial=$res.Substring($res.IndexOf("serial") + 12 , 24)
Write-Host -ForegroundColor Yellow -BackgroundColor Blue "Your select is : `r`n $res"
}
$serial=$serial.ToCharArray()
$StringForCompare='adapter serial "'
for ($i = 0; $i -lt $serial.Count; $i=$i+2) {
$StringForCompare=$StringForCompare.Insert($StringForCompare.Length,"$($serial.Get($i))$($serial.Get($i+1))")
}
$StringForCompare=$StringForCompare.Insert($StringForCompare.Length,'"')
$Path = "$dir"+"/board.cfg"
$Lines = [System.IO.File]::ReadAllLines($Path)
foreach ($line in $lines)
{
if ($line -match "adapter serial")
{
if ($line -notmatch $StringForCompare)
{
$Lines[$Lines.IndexOf($line)]=$StringForCompare
}
[System.IO.File]::WriteAllLines($Path, $Lines)
exit
}
}
$Lines[0]=$StringForCompare
[System.IO.File]::WriteAllLines($Path, $Lines)