procon_bypass_man 0.3.9 → 0.3.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9799933aa6f27812290fd75a4538b7ac0f334f548593a7365840c2a7256dd7ea
4
- data.tar.gz: 7f8f101cc58b668d38297d220cfcdd06e650429bf1d8540e7f75d4cb66e374c9
3
+ metadata.gz: 8cdec3e27b22b6af2d55b8a55910154cf47f46ae5e3269bd84ed5ba9219adc62
4
+ data.tar.gz: 6f00204f909f4ac4f46bf3925007e1245b141c643ddc5b943d0545075a04dfb4
5
5
  SHA512:
6
- metadata.gz: 38af52cac3890ad462b1dfa99e2d8f278a74631561174a368789cb7ea779382c138baf17fd17ebf6eef815bdd40534af0618d811ee8bbd6c1907142ed06ddc94
7
- data.tar.gz: 4b26dbfe8ac913f3cb957a8a93fdb535c8b9b3d8162a9c1837a9f3075390a54fbda3739f4986a91c84775ce633d7b0f1202320e3f7cf2903a8d79bcc9f3ec60d
6
+ metadata.gz: c74d37d2301deb80ee803f8ecf42e1b52dd7203b341164f89dc912a9ed48adc3a464a3a312bfceca77d07a97ab268431b67cda0fc5565331f2cbbfae5ff00964
7
+ data.tar.gz: 0ce1eca5b886d04f13b78336a42ec40d2e925d571f4fa6df26e10ede5cf6c5174dce8759cb078f0042d33b7f10aceb5cd1f53ad3ab02b622c387c94f53e56efe
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## [0.3.10] 2023-11-30
2
+ * マクロを実行するとメモリ使用率が増え続ける不具合を修正しました
3
+
1
4
  ## [0.3.9] 2023-07-15
2
5
  * Lボタンを押すだけで簡単スニーキング(スプラ3)ができるようになりました
3
6
  * 例: `left_analog_stick_cap cap: 1100, if_pressed: [:l], combined_press_is_pressed: [:zl], force_neutral: [:l]`
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- procon_bypass_man (0.3.9)
4
+ procon_bypass_man (0.3.10)
5
5
  action_cable_client
6
6
  blue_green_process (= 0.1.4.2)
7
7
  pbmenv (>= 0.1.11)
@@ -56,7 +56,7 @@ GEM
56
56
  parallel (1.21.0)
57
57
  parser (3.0.3.2)
58
58
  ast (~> 2.4.1)
59
- pbmenv (0.1.12)
59
+ pbmenv (0.1.13)
60
60
  pry (0.14.1)
61
61
  coderay (~> 1.1)
62
62
  method_source (~> 1.0)
@@ -147,7 +147,7 @@ GEM
147
147
  concurrent-ruby (~> 1.0)
148
148
  unicode-display_width (2.1.0)
149
149
  webrick (1.7.0)
150
- websocket (1.2.9)
150
+ websocket (1.2.10)
151
151
  websocket-eventmachine-base (1.2.0)
152
152
  eventmachine (~> 1.0)
153
153
  websocket (~> 1.0)
data/README.md CHANGED
@@ -78,7 +78,7 @@ sudo kill -USR2 `cat ./pbm_pid`
78
78
  * `message = ProconBypassMan::BootMessage.new; ProconBypassMan::ReportBootJob.perform(body: message.to_hash)`
79
79
 
80
80
  ### リリース手順
81
- * project_template/web.rb, project_template/app.rb, lib/procon_bypass_man/version.rb のバージョンをあげる
81
+ * project_template/app.rb.erb, lib/procon_bypass_man/version.rb のバージョンをあげる
82
82
  * CHANGELOG.md に日付を書く
83
83
  * be rake release
84
84
  * githubのreleaseを作成する
@@ -8,11 +8,4 @@ require "pry"
8
8
  # Usage:
9
9
  # $ `generate_output_report x zl y` のように、引数にボタン名を渡す
10
10
 
11
- no_action_binary = ["30f28100800078c77448287509550274ff131029001b0022005a0271ff191028001e00210064027cff1410280020002100000000000000000000000000000000"].pack("H*")
12
- user_operation = ProconBypassMan::Procon::UserOperation.new(no_action_binary)
13
-
14
- ARGV.map { |x| x.to_sym }.each do |button|
15
- user_operation.press_button(button)
16
- end
17
-
18
- puts user_operation.binary.unpack.first
11
+ puts OutputReportGenerator.new(ARGV).execute
@@ -5,15 +5,15 @@
5
5
  * sshをできる状態で焼いておく
6
6
  * SDカードをRaspberry Pi4本体に挿して起動する
7
7
  * sshする
8
- * wget -O - "https://github.com/itamae-kitchen/mitamae/releases/latest/download/mitamae-armhf-linux.tar.gz" | tar xvz
9
- * wget https://raw.githubusercontent.com/splaplapla/procon_bypass_man/master/docs/setup_raspi.mitamae.rb -O setup_raspi.mitamae.rb
10
- * sudo ./mitamae-armhf-linux local setup_raspi.mitamae.rb -l debug
11
- * sudo reboot
12
- * sudo sh /usr/share/pbm/shared/add_procon_gadget.sh の実行する
8
+ * `wget -O - "https://github.com/itamae-kitchen/mitamae/releases/latest/download/mitamae-armhf-linux.tar.gz" | tar xvz`
9
+ * `wget https://raw.githubusercontent.com/splaplapla/procon_bypass_man/master/docs/setup_raspi.mitamae.rb -O setup_raspi.mitamae.rb`
10
+ * `sudo ./mitamae-armhf-linux local setup_raspi.mitamae.rb -l debug`
11
+ * `sudo reboot`
12
+ * `sudo sh /usr/share/pbm/shared/add_procon_gadget.sh` の実行する
13
13
  * 何も表示されなければOK
14
14
  * PCとRaspberry Pi4を接続し、プロコンとして認識していることを確認する
15
- * sudo gem i pbmenv
16
- * sudo pbmenv install latest
15
+ * `sudo gem i pbmenv`
16
+ * `sudo pbmenv install latest`
17
17
 
18
18
  Raspberry Piのセットアップは以上です。
19
19
  次は、SwitchとRaspberry Piとプロコンにケーブルを接続した上で、次のコマンドをshellに入力し、procon_bypass_manの動作確認を行なってください。
@@ -4,7 +4,7 @@ class ProconBypassMan::Domains::Binary::Base
4
4
  @binary = binary
5
5
  end
6
6
 
7
- # @return [String] バイナリ
7
+ # @return [String]
8
8
  def binary
9
9
  raise NotImplementedError
10
10
  end
@@ -9,7 +9,6 @@ class ProconBypassMan::Procon
9
9
  require "procon_bypass_man/procon/value_objects/rumble_binary"
10
10
  require "procon_bypass_man/procon/value_objects/binary"
11
11
  require "procon_bypass_man/procon/value_objects/bypass_mode"
12
- require "procon_bypass_man/procon/consts"
13
12
  require "procon_bypass_man/procon/performance_measurement"
14
13
  require "procon_bypass_man/procon/performance_measurement/queue_over_process"
15
14
  require "procon_bypass_man/procon/mode_registry"
@@ -215,6 +214,8 @@ class ProconBypassMan::Procon
215
214
  end
216
215
  user_operation.press_button_only_or_tilt_sticks(step)
217
216
  return user_operation.binary.raw
217
+ else
218
+ BlueGreenProcess::SharedVariable.extend_run_on_this_process = false
218
219
  end
219
220
 
220
221
  current_layer.disables.each do |button|
@@ -0,0 +1,18 @@
1
+ class OutputReportGenerator
2
+ NO_ACTION = ["30f28100800078c77448287509550274ff131029001b0022005a0271ff191028001e00210064027cff1410280020002100000000000000000000000000000000"].pack("H*").freeze
3
+
4
+ # @param [Array<Symbol, String>, NilClass] pressed_buttons
5
+ def initialize(*pressed_buttons)
6
+ @buttons = pressed_buttons || []
7
+ end
8
+
9
+ # @return [String]
10
+ def execute
11
+ user_operation = ProconBypassMan::Procon::UserOperation.new(NO_ACTION.dup)
12
+ [@buttons].flatten.sort.uniq.each do |button|
13
+ user_operation.press_button(button.to_sym)
14
+ end
15
+
16
+ user_operation.binary.unpack.first
17
+ end
18
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ProconBypassMan
4
- VERSION = "0.3.9"
4
+ VERSION = "0.3.10"
5
5
  end
@@ -46,6 +46,7 @@ require_relative "procon_bypass_man/support/watchdog"
46
46
  require_relative "procon_bypass_man/support/forever"
47
47
  require_relative "procon_bypass_man/support/simple_tcp_server"
48
48
  require_relative "procon_bypass_man/support/proccess_cheacker"
49
+ require_relative "procon_bypass_man/support/output_report_generator"
49
50
  require_relative "procon_bypass_man/procon_display"
50
51
  require_relative "procon_bypass_man/background"
51
52
  require_relative "procon_bypass_man/commands"
@@ -12,7 +12,7 @@ begin
12
12
  gemfile do
13
13
  source 'https://rubygems.org'
14
14
  git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
15
- gem 'procon_bypass_man', '0.3.9'
15
+ gem 'procon_bypass_man', '0.3.10'
16
16
  # uncomment if you want to use master branch
17
17
  # gem 'procon_bypass_man', github: 'splaplapla/procon_bypass_man', branch: 'master'
18
18
  # uncomment if you want to use serial communication feature
@@ -12,7 +12,7 @@ begin
12
12
  gemfile do
13
13
  source 'https://rubygems.org'
14
14
  git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
15
- gem 'procon_bypass_man', '0.3.9'
15
+ gem 'procon_bypass_man', '0.3.10'
16
16
  # uncomment if you want to use master branch
17
17
  # gem 'procon_bypass_man', github: 'splaplapla/procon_bypass_man', branch: 'master'
18
18
  # uncomment if you want to use serial communication feature
data/sig/main.rbs CHANGED
@@ -339,12 +339,6 @@ class ProconBypassMan::Procon::ButtonCollection
339
339
  def self.load: (untyped button_key) -> untyped
340
340
  end
341
341
 
342
- class ProconBypassMan::Procon
343
- module Data
344
- NO_ACTION: untyped
345
- end
346
- end
347
-
348
342
  class ProconBypassMan::Procon
349
343
  class FlipCache
350
344
  def self.fetch: (key: untyped key, expires_in: untyped expires_in) { () -> untyped } -> untyped
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: procon_bypass_man
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.9
4
+ version: 0.3.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - jiikko
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-07-15 00:00:00.000000000 Z
11
+ date: 2023-11-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: action_cable_client
@@ -216,7 +216,6 @@ files:
216
216
  - lib/procon_bypass_man/procon/analog_stick_manipulator.rb
217
217
  - lib/procon_bypass_man/procon/button.rb
218
218
  - lib/procon_bypass_man/procon/button_collection.rb
219
- - lib/procon_bypass_man/procon/consts.rb
220
219
  - lib/procon_bypass_man/procon/flip_cache.rb
221
220
  - lib/procon_bypass_man/procon/layer_changer.rb
222
221
  - lib/procon_bypass_man/procon/macro.rb
@@ -284,6 +283,7 @@ files:
284
283
  - lib/procon_bypass_man/support/load_agv.rb
285
284
  - lib/procon_bypass_man/support/never_exit_accidentally.rb
286
285
  - lib/procon_bypass_man/support/on_memory_cache.rb
286
+ - lib/procon_bypass_man/support/output_report_generator.rb
287
287
  - lib/procon_bypass_man/support/proccess_cheacker.rb
288
288
  - lib/procon_bypass_man/support/procon_performance_http_client.rb
289
289
  - lib/procon_bypass_man/support/remote_macro_http_client.rb
@@ -323,7 +323,7 @@ metadata:
323
323
  homepage_uri: https://github.com/splaplapla/procon_bypass_man
324
324
  source_code_uri: https://github.com/splaplapla/procon_bypass_man
325
325
  changelog_uri: https://github.com/splaplapla/procon_bypass_man/blob/master/CHANGELOG.md
326
- post_install_message:
326
+ post_install_message:
327
327
  rdoc_options: []
328
328
  require_paths:
329
329
  - lib
@@ -338,8 +338,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
338
338
  - !ruby/object:Gem::Version
339
339
  version: '0'
340
340
  requirements: []
341
- rubygems_version: 3.2.15
342
- signing_key:
341
+ rubygems_version: 3.3.7
342
+ signing_key:
343
343
  specification_version: 4
344
344
  summary: A programmable converter for Nintendo Switch Pro Controller
345
345
  test_files: []
@@ -1,5 +0,0 @@
1
- class ProconBypassMan::Procon
2
- module Consts
3
- NO_ACTION = "30f28100800078c77448287509550274ff131029001b0022005a0271ff191028001e00210064027cff1410280020002100000000000000000000000000000000".freeze
4
- end
5
- end