Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
145 commits
Select commit Hold shift + click to select a range
0ee4e7e
Default size, position for Output Window
jw098 Jun 27, 2025
1fabc4c
set startup position for main window
jw098 Jun 27, 2025
08d1dc5
Save X/Y position of window, so that it will re-open at that position…
jw098 Jun 27, 2025
dc2deb0
Remove old C ssf API.
Mysticial Jun 27, 2025
6d2f732
fix bounds for move_x/move_y.
jw098 Jun 27, 2025
04509a8
changing Config value will change position of main window
jw098 Jun 27, 2025
10477d2
changing config value will change the size/position of the output window
jw098 Jun 27, 2025
b8dd7c7
Merge pull request #630 from jw098/log-window
Mysticial Jun 28, 2025
77d11cf
pyroar turn for switch 1 only
kichithewolf Jun 29, 2025
e9759d1
CRLF
Mysticial Jun 29, 2025
4da251f
CRLF
Mysticial Jun 29, 2025
d030f46
CRLF
Mysticial Jun 29, 2025
1434058
CRLF
Mysticial Jun 29, 2025
2556ae1
CRLF
Mysticial Jun 29, 2025
1338422
Remove another legacy ssf overload with implied hold duration.
Mysticial Jun 29, 2025
dab91ad
CRLF
Mysticial Jun 29, 2025
d6dac64
CRLF
Mysticial Jun 29, 2025
6c35cbb
Autostory: fix change_settings_prior_to_autostory(). Fix ability to c…
jw098 Jun 29, 2025
b2fbe76
fix autostory logging
jw098 Jun 29, 2025
24ff362
Merge pull request #633 from jw098/autostory
jw098 Jun 29, 2025
033aafc
Remove the remaining ssf API with 40ms hold default.
Mysticial Jun 29, 2025
fcc605e
Deprecate the non-RNG Item Printer.
Mysticial Jun 29, 2025
5bc4223
material farmer: add logs (#637)
jw098 Jun 30, 2025
c67ebfe
gitattributes: disable all line ending conversion
jw098 Jun 30, 2025
a62d6f4
MaterialFarmer: fix std::chrono overflow issue (#639)
jw098 Jul 1, 2025
7f9ce4a
MaterialFarmer: add more logging (#640)
jw098 Jul 1, 2025
27001fc
Fix SV date skip on Switch 2.
Mysticial Jul 1, 2025
cef7ce1
Merge branch 'main' of https://github.com/PokemonAutomation/Arduino-S…
Mysticial Jul 1, 2025
af8c59a
Refactor out the logic for holding the last frame.
Mysticial Jul 1, 2025
a4697a6
Refactor out snapshot logic. Add basic infra for async frame conversi…
Mysticial Jul 2, 2025
065ecf5
Fix build.
Mysticial Jul 2, 2025
9e94338
Fix overworld bot unexpected battle recovery.
Mysticial Jul 2, 2025
ef4ea37
Fix build again.
Mysticial Jul 2, 2025
d7a259a
Move QVideoFrame -> QImage conversion off the video pivot thread and …
Mysticial Jul 2, 2025
baa796b
Fix build.
Mysticial Jul 2, 2025
8a3463a
Fix build.
Mysticial Jul 2, 2025
791faa4
change dark catch/photo target, disabled flying-type
kichithewolf Jul 2, 2025
d4f1202
Fix build
naussika Jul 3, 2025
02eeb15
More global thread pools. Remove fire-and-forget from ParallelTaskRun…
Mysticial Jul 3, 2025
f696e53
Fix item printer. Fix premature console type conclusion due to screen…
Mysticial Jul 3, 2025
f86e72b
Fix crash.
Mysticial Jul 3, 2025
c459ad2
Merge pull request #642 from naussika/main
Mysticial Jul 3, 2025
85d923c
Cleanup/refactor of thread pool.
Mysticial Jul 3, 2025
00884c7
Fix build.
Mysticial Jul 3, 2025
d2b4b90
Fix build.
Mysticial Jul 3, 2025
1bf4258
Retry home navigation.
Mysticial Jul 4, 2025
ec5aab5
Merge pull request #638 from jw098/disable-line-conversion
Mysticial Jul 4, 2025
94f4c60
Merge pull request #641 from kichithewolf/bbq-switch2
Mysticial Jul 4, 2025
4527288
Fix build
naussika Jul 3, 2025
b518702
Merge pull request #643 from naussika/main
Mysticial Jul 4, 2025
c76049f
Parallel framework refactor.
Mysticial Jul 4, 2025
7ae3a71
Parallelize the multi-filtering.
Mysticial Jul 4, 2025
4b68ab7
Reformat with git add --renormalize . (#644)
pifopi Jul 4, 2025
b96285f
Remove sleepy
pifopi Jul 4, 2025
e012972
Merge pull request #631 from pifopi/remove-sleepy
Mysticial Jul 4, 2025
1a9e141
Refactor priority options. Fix incorrect priority setting.
Mysticial Jul 4, 2025
8bb81ff
Fix Windows priorities.
Mysticial Jul 5, 2025
b3db10e
4k is too big for Discord.
Mysticial Jul 5, 2025
f4f5830
Default all screenshots to .jpg due to Discord size limit. Put mask b…
Mysticial Jul 5, 2025
39ab436
Shrink the stats overlay.
Mysticial Jul 5, 2025
90f2bd2
Adjust HP bar to work on Switch 2.
Mysticial Jul 5, 2025
383caff
cleanup
Mysticial Jul 5, 2025
2507f15
Refactor platform bot and scatterbug to properly count and detect shi…
Mysticial Jul 5, 2025
1c1f3d9
Fix build.
Mysticial Jul 5, 2025
459cffb
Fix build.
Mysticial Jul 5, 2025
96fadf1
Fix hang when running out of threads.
Mysticial Jul 5, 2025
4a07e27
Parallelize the BDSP sparkle detector across the filters.
Mysticial Jul 5, 2025
2f9bb06
Fix crash.
Mysticial Jul 5, 2025
9bbd7bb
SV egg auto switch2 location
kichithewolf Jul 5, 2025
65b1fd6
Comments.
Mysticial Jul 5, 2025
aac2ec4
Fix Pokemon center navigation. (credit jw)
Mysticial Jul 5, 2025
62f0328
Parallelize the SwSh sparkle detector.
Mysticial Jul 5, 2025
19ac90d
Fix lifetime sanitizer false alarm.
Mysticial Jul 5, 2025
d102775
Fix start/stop race condition hang.
Mysticial Jul 6, 2025
85a6c9c
SV eggs, detect getting attacked and break out early for fast recovery.
Mysticial Jul 6, 2025
fb0daa5
fix flying
kichithewolf Jul 6, 2025
47dd497
Relax OCR threshold. Tofu fails on 4k.
Mysticial Jul 6, 2025
e964679
Fix code entry for SBB.
Mysticial Jul 6, 2025
f785aa3
Try Qt socket for SBB.
Mysticial Jul 6, 2025
02fd340
SBB3 ping
Mysticial Jul 6, 2025
453f540
Fix race condition in Item Printer state machine.
Mysticial Jul 7, 2025
17393e0
Attacked while trying to fly.
Mysticial Jul 7, 2025
be479cb
Koi figured out that I'm stupid.
Mysticial Jul 7, 2025
3191bba
fix for raid next to lighthouse
kichithewolf Jul 7, 2025
bdd38f7
Another (untested) fix to SV eggs not recovering from getting attacked.
Mysticial Jul 8, 2025
f417efc
Migrate BDSP dialog detector to use watcher. Require multiple frames …
Mysticial Jul 8, 2025
b03686d
More SV egg error tweaks.
Mysticial Jul 8, 2025
77eff6f
Merge branch 'PokemonAutomation:main' into sw2_egg_auto
kichithewolf Jul 8, 2025
de35614
Add a if developer around overlay images (#646)
pifopi Jul 8, 2025
b88bbbc
location option instead of switch type
kichithewolf Jul 9, 2025
e6ef4ce
Merge pull request #647 from kichithewolf/sw2_egg_auto
Mysticial Jul 9, 2025
67947a5
add bitmap compression library
Jul 9, 2025
a03d373
Fix build.
Mysticial Jul 9, 2025
9dc3a05
Fix SV mass release.
Mysticial Jul 9, 2025
6779e2a
Require new firmware versions with report delay fix.
Mysticial Jul 9, 2025
08b2519
Catch some Qt socket errors.
Mysticial Jul 9, 2025
0a0c028
Enforce new firmware.
Mysticial Jul 10, 2025
5f22792
use base64 to store annotation mask
Jul 10, 2025
305900d
m
Jul 10, 2025
d0dd14d
add image display widget for ML
Jul 10, 2025
8cb7496
Add some ESP32 wireless paths for Switch 2.
Mysticial Jul 10, 2025
20e3a13
Fix deadlock due to missed error notification.
Mysticial Jul 10, 2025
0eb21f0
More datespam fixes for ESP32 on Switch 2.
Mysticial Jul 11, 2025
19465f9
Rename performance class enums.
Mysticial Jul 11, 2025
0ad3a74
Fix deadlock.
Mysticial Jul 11, 2025
db41c7a
Expand logging for error.
Mysticial Jul 11, 2025
b3140c3
Fix Qt socket deadlock across parallel send/receive.
Mysticial Jul 11, 2025
9302bd6
Attempt to interpret non-PABotBase serial traffic.
Mysticial Jul 12, 2025
8bdac05
Fix major issue with the scheduler.
Mysticial Jul 12, 2025
1175535
Refactor date spam to reuse code. Add some work on ESP32 joycon date …
Mysticial Jul 12, 2025
1cd63d6
Clip joystick magnitude to 1.0.
Mysticial Jul 12, 2025
3295e80
Enforce new firmware with hanging fix.
Mysticial Jul 12, 2025
da4a198
Fix PLA region navigation that broke during 4k video optimization.
Mysticial Jul 12, 2025
e2b9d27
Add support for Switch 2 GR and GL buttons.
Mysticial Jul 13, 2025
01fbfa3
Remove the old tick-based messages.
Mysticial Jul 13, 2025
a3249e4
More SBB logging.
Mysticial Jul 14, 2025
c26783f
Lifetime tracking for ListenerSet.
Mysticial Jul 14, 2025
a2dcaa8
PLA pokeballs sprites for Pokemon Home.
Mysticial Jul 14, 2025
6d21a07
Fix build.
Mysticial Jul 14, 2025
6629233
Move lifetime checks.
Mysticial Jul 14, 2025
e02af08
Update CI (#648)
pifopi Jul 15, 2025
847b640
Reduce queue size for SBB3 now that we understand what we need and wh…
Mysticial Jul 16, 2025
4a39ec6
Fix SV dialog detector.
Mysticial Jul 17, 2025
dd1867f
Put SBB3 debugging prints behind settings.
Mysticial Jul 17, 2025
e9cd76b
Attempt to fix screenshots being too old.
Mysticial Jul 17, 2025
cada0c3
Fix build. Reorder settings.
Mysticial Jul 17, 2025
4caa014
Fix slider detection.
Mysticial Jul 18, 2025
9d9519a
add more image display UI
Jul 13, 2025
d135e08
more image UI for ML labeling
Jul 13, 2025
1b19127
writing image embedding computation feature
Jul 18, 2025
6a58549
Fix HomeMenuDetector false positive on date time.
Mysticial Jul 18, 2025
63f28aa
Delay replace command and merge with command because TCP is shit.
Mysticial Jul 18, 2025
de65d7d
Fix SBB3 replace_on_next_command().
Mysticial Jul 18, 2025
f17599e
Don't force flush.
Mysticial Jul 18, 2025
303401a
SBB3 looks good to go from this side.
Mysticial Jul 19, 2025
f0341fd
Fix the TeraRoller on Switch 2.
Mysticial Jul 19, 2025
3fa1764
add button to compute embedding
Jul 19, 2025
41b0e24
can load new images for annotation
Jul 19, 2025
f441a8f
save annotation automatically
Jul 19, 2025
9c44282
Fix AutoDA Path Select false positives. Minor cleanup.
Mysticial Jul 19, 2025
5bcb651
Merge branch 'main' of https://github.com/PokemonAutomation/Arduino-S…
Mysticial Jul 19, 2025
d0e8ba8
Fix build.
Mysticial Jul 19, 2025
90598b3
add image folder info
Jul 19, 2025
f0eae10
Add deprecation pop-up for deprecated programs.
Mysticial Jul 20, 2025
bb46c90
Prepare for release.
Mysticial Jul 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* -text
138 changes: 70 additions & 68 deletions .github/workflows/cpp-ci-serial-programs.yml
Original file line number Diff line number Diff line change
@@ -1,68 +1,70 @@
name: C++ CI Serial Programs

on: [push, pull_request, workflow_dispatch]

jobs:
build:
runs-on: ${{ matrix.os }}

strategy:
fail-fast: false
matrix:
os: [windows-2025, macos-13, ubuntu-24.04]
qt_version: ['6.9.0']
include:
- qt_version: '6.9.0'
qt_version_major: '6'
qt_modules: 'qtmultimedia qtserialport'

steps:
- uses: actions/checkout@v4
with:
path: Arduino-Source
- uses: actions/checkout@v4
with:
repository: 'PokemonAutomation/Packages'
path: Packages
- name: Install dependencies
if: startsWith(matrix.os, 'ubuntu')
run: |
sudo apt update
sudo apt install libopencv-dev
- name: Install dependencies
if: startsWith(matrix.os, 'mac')
run: |
brew install opencv onnxruntime
- uses: jurplel/install-qt-action@v4
with:
version: ${{ matrix.qt_version }}
modules: ${{ matrix.qt_modules }}
- name: Generate binaries
run: |
cd Arduino-Source/SerialPrograms
mkdir bin
cd bin
cmake .. -DQT_MAJOR:STRING=${{ matrix.qt_version_major }}
cmake --build . --config Release --parallel 10
- name: Copy resources
if: startsWith(matrix.os, 'windows')
run: |
robocopy Packages/SerialPrograms/Resources Output/Resources /s
robocopy Packages/PABotBase/PABotBase-Switch Output/PABotBase /s
robocopy Arduino-Source/SerialPrograms/bin Output/Binaries *.dll
robocopy Arduino-Source/SerialPrograms/bin/Release Output/Binaries SerialPrograms.exe
echo https://github.com/${{github.repository}}/commit/${{github.sha}} > Output/version.txt
write-host "Robocopy exited with exit code:" $lastexitcode
if ($lastexitcode -eq 1)
{
exit 0
}
else
{
exit 1
}
- uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'windows')
with:
name: Serial Programs for windows (${{ matrix.qt_version }})
path: Output
name: C++ CI Serial Programs

on: [push, pull_request, workflow_dispatch]

jobs:
build:
runs-on: ${{ matrix.os }}

strategy:
fail-fast: false
matrix:
os: [windows-2025, macos-13, ubuntu-24.04]
qt_version: ['6.9.1']
include:
- qt_version: '6.9.1'
qt_version_major: '6'
qt_modules: 'qtmultimedia qtserialport'

steps:
- uses: actions/checkout@v4
with:
path: Arduino-Source
submodules: 'recursive'
- uses: actions/checkout@v4
with:
repository: 'PokemonAutomation/Packages'
path: Packages
- uses: jurplel/install-qt-action@v4
with:
version: ${{ matrix.qt_version }}
modules: ${{ matrix.qt_modules }}
- name: Install dependencies
if: startsWith(matrix.os, 'ubuntu')
run: |
sudo apt update
sudo apt upgrade
sudo apt install libopencv-dev
- name: Install dependencies
if: startsWith(matrix.os, 'mac')
run: |
brew install opencv onnxruntime
- name: Generate binaries
run: |
cd Arduino-Source/SerialPrograms
mkdir bin
cd bin
cmake .. -DQT_MAJOR:STRING=${{ matrix.qt_version_major }}
cmake --build . --config Release --parallel 10
- name: Copy resources
if: startsWith(matrix.os, 'windows')
run: |
robocopy Packages/SerialPrograms/Resources Output/Resources /s
robocopy Packages/PABotBase/PABotBase-Switch Output/PABotBase /s
robocopy Arduino-Source/SerialPrograms/bin Output/Binaries *.dll
robocopy Arduino-Source/SerialPrograms/bin/Release Output/Binaries SerialPrograms.exe
echo https://github.com/${{github.repository}}/commit/${{github.sha}} > Output/version.txt
write-host "Robocopy exited with exit code:" $lastexitcode
if ($lastexitcode -eq 1)
{
exit 0
}
else
{
exit 1
}
- uses: actions/upload-artifact@v4
if: startsWith(matrix.os, 'windows')
with:
name: Serial Programs for windows (${{ matrix.qt_version }})
path: Output
114 changes: 57 additions & 57 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,57 +1,57 @@
SerialPrograms/bin/

.vscode

# macOS hidden system file
.DS_Store

build-*/
build/

# Qt config file on a user basis
*.pro.user

# all other common C++ ignorables
# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
SerialPrograms/*.so
SerialPrograms/*.dylib
SerialPrograms/*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
SerialPrograms/*.lai
SerialPrograms/*.la
SerialPrograms/*.a
SerialPrograms/*.lib

# Executables
*.exe
*.out
*.app

.vs
Resources/*
SerialPrograms/CMakeLists.txt.user
opencv_world4110d.dll

# Python cache
__pycache__

# Jupyter Notebooks
*.ipynb
SerialPrograms/bin/
.vscode
# macOS hidden system file
.DS_Store
build-*/
build/
# Qt config file on a user basis
*.pro.user
# all other common C++ ignorables
# Prerequisites
*.d
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Precompiled Headers
*.gch
*.pch
# Compiled Dynamic libraries
SerialPrograms/*.so
SerialPrograms/*.dylib
SerialPrograms/*.dll
# Fortran module files
*.mod
*.smod
# Compiled Static libraries
SerialPrograms/*.lai
SerialPrograms/*.la
SerialPrograms/*.a
SerialPrograms/*.lib
# Executables
*.exe
*.out
*.app
.vs
Resources/*
SerialPrograms/CMakeLists.txt.user
opencv_world4110d.dll
# Python cache
__pycache__
# Jupyter Notebooks
*.ipynb
76 changes: 38 additions & 38 deletions 3rdParty/ONNX/OnnxToolsPA.h
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
/* Simple Integer Option
*
* From: https://github.com/PokemonAutomation/
*
* This option is thread-safe.
*
*/

#ifndef PokemonAutomation_3rdParty_OnnxToolsPA_H
#define PokemonAutomation_3rdParty_OnnxToolsPA_H

#include <string>
#include <onnxruntime_c_api.h>
#include "Common/Cpp/Unicode.h"

namespace PokemonAutomation{

#ifdef _WIN32

inline std::wstring str_to_onnx_str(const std::string& str){
return utf8_to_wstr(str);
}


#else


inline std::string str_to_onnx_str(std::string str){
return str;
}


#endif



}
#endif
/* Simple Integer Option
*
* From: https://github.com/PokemonAutomation/
*
* This option is thread-safe.
*
*/
#ifndef PokemonAutomation_3rdParty_OnnxToolsPA_H
#define PokemonAutomation_3rdParty_OnnxToolsPA_H
#include <string>
#include <onnxruntime_c_api.h>
#include "Common/Cpp/Unicode.h"
namespace PokemonAutomation{
#ifdef _WIN32
inline std::wstring str_to_onnx_str(const std::string& str){
return utf8_to_wstr(str);
}
#else
inline std::string str_to_onnx_str(std::string str){
return str;
}
#endif
}
#endif
38 changes: 19 additions & 19 deletions 3rdParty/ONNX/cpu_provider_factory.h
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

#include "onnxruntime_c_api.h"

#ifdef __cplusplus
extern "C" {
#endif

/**
* \param use_arena zero: false. non-zero: true.
*/
ORT_EXPORT
ORT_API_STATUS(OrtSessionOptionsAppendExecutionProvider_CPU, _In_ OrtSessionOptions* options, int use_arena)
ORT_ALL_ARGS_NONNULL;

#ifdef __cplusplus
}
#endif
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#include "onnxruntime_c_api.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* \param use_arena zero: false. non-zero: true.
*/
ORT_EXPORT
ORT_API_STATUS(OrtSessionOptionsAppendExecutionProvider_CPU, _In_ OrtSessionOptions* options, int use_arena)
ORT_ALL_ARGS_NONNULL;
#ifdef __cplusplus
}
#endif
Loading