smalruby-editor 0.2.4-x86-mingw32 → 0.2.5-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of smalruby-editor might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.rubocop.yml +8 -0
- data/Guardfile +8 -1
- data/app/assets/javascripts/blocks/hardware.js.coffee.erb +11 -152
- data/app/assets/javascripts/msg/en_us.js +5 -5
- data/app/assets/javascripts/msg/ja.js +5 -5
- data/app/assets/javascripts/views/signin_modal_view.js.coffee.erb +0 -0
- data/app/controllers/sessions_controller.rb +0 -0
- data/app/helpers/sessions_helper.rb +4 -0
- data/app/models/concerns/ruby_to_block/block/hardware_operation.rb +11 -0
- data/app/models/concerns/ruby_to_block/block/{hardware_smalrubot_s1_led_turn_on_or_off.rb → hardware_smalrubot_action.rb} +8 -5
- data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_action_with_sec.rb +25 -0
- data/app/models/concerns/ruby_to_block/block/{hardware_smalrubot_v3_motor_speed.rb → hardware_smalrubot_dc_motor_power_ratio.rb} +8 -5
- data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_dc_motor_set_power_ratio.rb +23 -0
- data/app/models/concerns/ruby_to_block/block/{hardware_smalrubot_v3_led_turn_on_or_off.rb → hardware_smalrubot_led_turn_on_or_off.rb} +8 -5
- data/app/models/concerns/ruby_to_block/block/{hardware_smalrubot_s1_ir_photoreflector_value.rb → hardware_smalrubot_sensor_value.rb} +8 -6
- data/app/views/editor/_toolbox_default.html.haml +4 -7
- data/app/views/editor/index.html.haml +7 -18
- data/bin/spring +0 -0
- data/config/application.rb +1 -0
- data/lib/smalruby_editor/version.rb +1 -1
- data/public/assets/{application-eece3e01e35f8f689e2e282a168f6059.js → application-e64da116c4adad30e499acda9d657fb5.js} +9 -9
- data/public/assets/application-e64da116c4adad30e499acda9d657fb5.js.gz +0 -0
- data/public/assets/{manifest-93f591b19a2a69655db7b53fa00d6b17.json → manifest-beef6aec1f5553cda5a2fe11ef0774ea.json} +1 -1
- data/public/assets/msg/{en_us-3eb2f104a6bad9c60226ff7475013874.js → en_us-a3f6b99f4b54cfaeed42452de11ab02e.js} +1 -1
- data/public/assets/msg/en_us-a3f6b99f4b54cfaeed42452de11ab02e.js.gz +0 -0
- data/public/assets/msg/ja-9323664964a9b8ede99ae16c43db5827.js +1 -0
- data/public/assets/msg/ja-9323664964a9b8ede99ae16c43db5827.js.gz +0 -0
- data/smalruby-editor.gemspec +1 -1
- data/spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_led_turn_on_or_off.feature +8 -8
- data/spec/acceptance/block_mode/blocks/hardware/{smalrubot_v3_motor_speed.feature → smalrubot_v3_dc_motor_power_ratio.feature} +12 -12
- data/spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_led_turn_on_or_off.feature +8 -8
- data/spec/acceptance/block_mode/blocks/hardware/{smalrubot_s1_ir_photoreflector_value.feature → smalrubot_v3_sensor_value.feature} +7 -7
- data/spec/models/concerns/ruby_to_block/block/{hardware__smalrubot_s1_spec.rb → hardware__smalrubot_spec.rb} +88 -84
- data/spec/spec_helper.rb +0 -0
- data/spec/steps/base_steps.rb +0 -0
- data/spec/steps/text_editor_steps.rb +0 -0
- metadata +23 -36
- data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_action.rb +0 -13
- data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_action_with_sec.rb +0 -14
- data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_dc_motor_power_ratio.rb +0 -26
- data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_s1_dc_motor_set_power_ratio.rb +0 -21
- data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_action.rb +0 -22
- data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_action_with_sec.rb +0 -24
- data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_light_sensor_value.rb +0 -28
- data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_motor_set_speed.rb +0 -21
- data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_touch_sensor_pressed_or_released.rb +0 -29
- data/public/assets/application-eece3e01e35f8f689e2e282a168f6059.js.gz +0 -0
- data/public/assets/msg/en_us-3eb2f104a6bad9c60226ff7475013874.js.gz +0 -0
- data/public/assets/msg/ja-8450d011b1f093dc4b6b7c467e5bcae4.js +0 -1
- data/public/assets/msg/ja-8450d011b1f093dc4b6b7c467e5bcae4.js.gz +0 -0
- data/spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_light_sensor_value.feature +0 -92
- data/spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_touch_sensor_pressed_or_released.feature +0 -108
- data/spec/models/concerns/ruby_to_block/block/hardware__smalrubot_v3_spec.rb +0 -433
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 82409640c53e76c3e90adcee5f84894ac51e895e
|
4
|
+
data.tar.gz: f17e839c44f18f704b76b15303811b907b63b94c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 551126f0b286a827739d85227d9fe82b3f36cf36da0dc6c28efcd9f658d7128f7be41aa8d4192ef000d53154aaf066588ce280b849a46a27efacc237a2ba86eb
|
7
|
+
data.tar.gz: a0e16527bc49ec1c1a55245cc4b0c1aeb17948f3a86f2f03bfd642bb2e136cbedbaa42a3058996dd2ffc8424782f126b4476d357c031deee6f826bceee2abf5d
|
data/.rubocop.yml
CHANGED
@@ -37,3 +37,11 @@ ClassLength:
|
|
37
37
|
# LoadErrorなど、rescueブロックを空にすることはよくあるため。
|
38
38
|
HandleExceptions:
|
39
39
|
Enabled: false
|
40
|
+
|
41
|
+
# when use if/unless modifier, can't check coverage
|
42
|
+
IfUnlessModifier:
|
43
|
+
Enabled: false
|
44
|
+
|
45
|
+
# this is not important for me.
|
46
|
+
StringLiterals:
|
47
|
+
Enabled: false
|
data/Guardfile
CHANGED
@@ -17,12 +17,19 @@ group :red_green_refactor, halt_on_fail: true do
|
|
17
17
|
watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) }
|
18
18
|
end
|
19
19
|
|
20
|
-
guard :rspec, cmd: 'bundle exec bin/rspec' do
|
20
|
+
guard :rspec, cmd: 'bundle exec bin/spring rspec' do
|
21
21
|
watch(%r{^spec/.+_spec\.rb$})
|
22
22
|
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
23
23
|
watch('spec/spec_helper.rb') { "spec" }
|
24
24
|
|
25
25
|
# Rails example
|
26
|
+
watch(%r{^app/models/concerns/ruby_to_block/block/hardware_(.*)\.rb$}) { |m|
|
27
|
+
if /smalrubot/.match(m[1])
|
28
|
+
"spec/models/concerns/ruby_to_block/block/hardware__smalrubot_spec.rb"
|
29
|
+
else
|
30
|
+
"spec/models/concerns/ruby_to_block/block/hardware_spec.rb"
|
31
|
+
end
|
32
|
+
}
|
26
33
|
watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
|
27
34
|
watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
|
28
35
|
watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
|
@@ -453,158 +453,15 @@ Blockly.Ruby['<%= n %>'] = (block) ->
|
|
453
453
|
pin = @getFieldValue('PIN')
|
454
454
|
Blockly.Ruby.characterMethodCallInput_("sensor(#{Blockly.Ruby.quote_(pin)}).value")
|
455
455
|
|
456
|
-
# SmalrubotV3 sub category
|
457
|
-
<% subcategory = 'smalrubot_v3' %>
|
458
|
-
|
459
|
-
# turn on/off Smalrubot v3 red/green LED
|
460
|
-
<% n = "#{category}_#{subcategory}_led_turn_on_or_off" %>
|
461
|
-
Blockly.Blocks['<%= n %>'] =
|
462
|
-
init: ()->
|
463
|
-
colourDropdown = [
|
464
|
-
[<%= bm('colour.red') %>, 'red'],
|
465
|
-
[<%= bm('colour.green') %>, 'green'],
|
466
|
-
]
|
467
|
-
oooDropdown = [
|
468
|
-
[<%= bm('common.turn_on') %>, 'turn_on'],
|
469
|
-
[<%= bm('common.turn_off') %>, 'turn_off'],
|
470
|
-
]
|
471
|
-
|
472
|
-
@setHelpUrl('')
|
473
|
-
@setColour(<%= colors[:looks] %>)
|
474
|
-
@interpolateMsg(<%= bm(".#{subcategory}_led_turn_on_or_off") %>,
|
475
|
-
['COLOUR', new Blockly.FieldDropdown(colourDropdown)],
|
476
|
-
['OOO', new Blockly.FieldDropdown(oooDropdown)],
|
477
|
-
Blockly.ALIGN_RIGHT)
|
478
|
-
@setInputsInline(true)
|
479
|
-
@setPreviousStatement(true)
|
480
|
-
@setNextStatement(true)
|
481
|
-
@setTooltip('')
|
482
|
-
|
483
|
-
Blockly.Ruby['<%= n %>'] = (block) ->
|
484
|
-
colour = @getFieldValue('COLOUR')
|
485
|
-
ooo = @getFieldValue('OOO')
|
486
|
-
Blockly.Ruby.characterMethodCall_("<%= subcategory %>.#{colour}_led.#{ooo}")
|
487
|
-
|
488
|
-
# Smalrubot v3 left/right motor speed
|
489
|
-
<% n = "#{category}_#{subcategory}_motor_speed" %>
|
490
|
-
Blockly.Blocks['<%= n %>'] =
|
491
|
-
init: ()->
|
492
|
-
@setHelpUrl('')
|
493
|
-
@setColour(<%= colors[:sensing] %>)
|
494
|
-
@interpolateMsg(<%= bm(".#{subcategory}_motor_speed") %>,
|
495
|
-
['LOR', new Blockly.FieldDropdown(lorDropdown)],
|
496
|
-
Blockly.ALIGN_RIGHT)
|
497
|
-
@setOutput(true, 'Number')
|
498
|
-
@setTooltip('')
|
499
|
-
|
500
|
-
Blockly.Ruby['<%= n %>'] = (block) ->
|
501
|
-
lor = @getFieldValue('LOR')
|
502
|
-
Blockly.Ruby.characterMethodCallInput_("<%= subcategory %>.#{lor}_motor.speed")
|
503
|
-
|
504
|
-
# set Smalrubot v3 left/right motor speed
|
505
|
-
<% n = "#{category}_#{subcategory}_motor_set_speed" %>
|
506
|
-
Blockly.Blocks['<%= n %>'] =
|
507
|
-
init: ()->
|
508
|
-
@setHelpUrl('')
|
509
|
-
@setColour(<%= colors[:motion] %>)
|
510
|
-
@interpolateMsg(<%= bm(".#{subcategory}_motor_set_speed") %>,
|
511
|
-
['LOR', new Blockly.FieldDropdown(lorDropdown)],
|
512
|
-
['SPEED', ['Number'], Blockly.ALIGN_RIGHT],
|
513
|
-
Blockly.ALIGN_RIGHT)
|
514
|
-
@setInputsInline(true)
|
515
|
-
@setPreviousStatement(true)
|
516
|
-
@setNextStatement(true)
|
517
|
-
@setTooltip('')
|
518
|
-
|
519
|
-
Blockly.Ruby['<%= n %>'] = (block) ->
|
520
|
-
lor = @getFieldValue('LOR')
|
521
|
-
speed = Blockly.Ruby.valueToCode(@, 'SPEED', Blockly.Ruby.ORDER_NONE) || '100'
|
522
|
-
Blockly.Ruby.characterSetVariable_("<%= subcategory %>.#{lor}_motor.speed",
|
523
|
-
speed)
|
524
|
-
|
525
|
-
# forward/backward/turn left/turn right/stop Smalrubot v3
|
526
|
-
<% n = "#{category}_#{subcategory}_action" %>
|
527
|
-
Blockly.Blocks['<%= n %>'] =
|
528
|
-
init: ()->
|
529
|
-
@setHelpUrl('')
|
530
|
-
@setColour(<%= colors[:motion] %>)
|
531
|
-
@interpolateMsg(<%= bm(".#{subcategory}_action") %>,
|
532
|
-
['ACTION', new Blockly.FieldDropdown(actionDropdown)],
|
533
|
-
Blockly.ALIGN_RIGHT)
|
534
|
-
@setInputsInline(true)
|
535
|
-
@setPreviousStatement(true)
|
536
|
-
@setNextStatement(true)
|
537
|
-
@setTooltip('')
|
538
|
-
|
539
|
-
Blockly.Ruby['<%= n %>'] = (block) ->
|
540
|
-
action = @getFieldValue('ACTION')
|
541
|
-
Blockly.Ruby.characterMethodCall_("<%= subcategory %>.#{action}")
|
542
|
-
|
543
|
-
# forward/backward/turn left/turn right/stop Smalrubot v3 for ( ) secs
|
544
|
-
<% n = "#{category}_#{subcategory}_action_with_sec" %>
|
545
|
-
Blockly.Blocks['<%= n %>'] =
|
546
|
-
init: ()->
|
547
|
-
@setHelpUrl('')
|
548
|
-
@setColour(<%= colors[:motion] %>)
|
549
|
-
@interpolateMsg(<%= bm(".#{subcategory}_action_with_sec") %>,
|
550
|
-
['ACTION', new Blockly.FieldDropdown(actionDropdown)],
|
551
|
-
['SEC', ['Number'], Blockly.ALIGN_RIGHT],
|
552
|
-
Blockly.ALIGN_RIGHT)
|
553
|
-
@setInputsInline(true)
|
554
|
-
@setPreviousStatement(true)
|
555
|
-
@setNextStatement(true)
|
556
|
-
@setTooltip('')
|
557
|
-
|
558
|
-
Blockly.Ruby['<%= n %>'] = (block) ->
|
559
|
-
action = @getFieldValue('ACTION')
|
560
|
-
sec = Blockly.Ruby.valueToCode(@, 'SEC', Blockly.Ruby.ORDER_FUNCTION_CALL) || 'nil'
|
561
|
-
Blockly.Ruby.characterMethodCall_("<%= subcategory %>.#{action}(sec: #{sec})")
|
562
|
-
|
563
|
-
# Smalrubot v3 touch sensor pressed/released
|
564
|
-
<% n = "#{category}_#{subcategory}_touch_sensor_pressed_or_released" %>
|
565
|
-
Blockly.Blocks['<%= n %>'] =
|
566
|
-
init: ()->
|
567
|
-
porDropdown = window.SmalrubyEditor.Sensing.PressedOrReleasedDropdown
|
568
|
-
|
569
|
-
@setHelpUrl('')
|
570
|
-
@setColour(<%= colors[:sensing] %>)
|
571
|
-
@interpolateMsg(<%= bm(".#{subcategory}_touch_sensor_pressed_or_released") %>,
|
572
|
-
['LOR', new Blockly.FieldDropdown(lorDropdown)],
|
573
|
-
['POR', new Blockly.FieldDropdown(porDropdown)],
|
574
|
-
Blockly.ALIGN_RIGHT)
|
575
|
-
@setOutput(true, 'Boolean')
|
576
|
-
@setTooltip('')
|
577
|
-
|
578
|
-
Blockly.Ruby['<%= n %>'] = (block) ->
|
579
|
-
lor = @getFieldValue('LOR')
|
580
|
-
por = @getFieldValue('POR')
|
581
|
-
Blockly.Ruby.characterMethodCallInput_("<%= subcategory %>.#{lor}_touch_sensor.#{por}?")
|
582
|
-
|
583
|
-
# Smalrubot v3 light sensor value
|
584
|
-
<% n = "#{category}_#{subcategory}_light_sensor_value" %>
|
585
|
-
Blockly.Blocks['<%= n %>'] =
|
586
|
-
init: ()->
|
587
|
-
@setHelpUrl('')
|
588
|
-
@setColour(<%= colors[:sensing] %>)
|
589
|
-
@appendDummyInput().appendField(<%= bm(".#{subcategory}_light_sensor_value") %>)
|
590
|
-
@setOutput(true, 'Number')
|
591
|
-
@setTooltip('')
|
592
|
-
|
593
|
-
Blockly.Ruby['<%= n %>'] = (block) ->
|
594
|
-
Blockly.Ruby.characterMethodCallInput_("<%= subcategory %>.light_sensor.value")
|
595
|
-
|
596
456
|
|
457
|
+
# SmalrubotV3 sub category
|
597
458
|
# SmalrubotS1 sub category
|
598
|
-
<%
|
459
|
+
<% %w(smalrubot_v3 smalrubot_s1).each do |subcategory| %>
|
599
460
|
|
600
461
|
# turn on/off Smalrubot s1 blue/white LED
|
601
462
|
<% n = "#{category}_#{subcategory}_led_turn_on_or_off" %>
|
602
463
|
Blockly.Blocks['<%= n %>'] =
|
603
464
|
init: ()->
|
604
|
-
colourDropdown = [
|
605
|
-
[<%= bm('colour.blue') %>, 'blue'],
|
606
|
-
[<%= bm('colour.white') %>, 'white'],
|
607
|
-
]
|
608
465
|
oooDropdown = [
|
609
466
|
[<%= bm('common.turn_on') %>, 'turn_on'],
|
610
467
|
[<%= bm('common.turn_off') %>, 'turn_off'],
|
@@ -613,7 +470,7 @@ Blockly.Blocks['<%= n %>'] =
|
|
613
470
|
@setHelpUrl('')
|
614
471
|
@setColour(<%= colors[:looks] %>)
|
615
472
|
@interpolateMsg(<%= bm(".#{subcategory}_led_turn_on_or_off") %>,
|
616
|
-
['
|
473
|
+
['LOR', new Blockly.FieldDropdown(lorDropdown)],
|
617
474
|
['OOO', new Blockly.FieldDropdown(oooDropdown)],
|
618
475
|
Blockly.ALIGN_RIGHT)
|
619
476
|
@setInputsInline(true)
|
@@ -622,9 +479,9 @@ Blockly.Blocks['<%= n %>'] =
|
|
622
479
|
@setTooltip('')
|
623
480
|
|
624
481
|
Blockly.Ruby['<%= n %>'] = (block) ->
|
625
|
-
|
482
|
+
lor = @getFieldValue('LOR')
|
626
483
|
ooo = @getFieldValue('OOO')
|
627
|
-
Blockly.Ruby.characterMethodCall_("<%= subcategory %>.#{ooo}_#{
|
484
|
+
Blockly.Ruby.characterMethodCall_("<%= subcategory %>.#{ooo}_#{lor}_led")
|
628
485
|
|
629
486
|
# forward/backward/turn left/turn right/stop Smalrubot s1
|
630
487
|
<% n = "#{category}_#{subcategory}_action" %>
|
@@ -664,13 +521,13 @@ Blockly.Ruby['<%= n %>'] = (block) ->
|
|
664
521
|
sec = Blockly.Ruby.valueToCode(@, 'SEC', Blockly.Ruby.ORDER_FUNCTION_CALL) || 'nil'
|
665
522
|
Blockly.Ruby.characterMethodCall_("<%= subcategory %>.#{action}(sec: #{sec})")
|
666
523
|
|
667
|
-
# Smalrubot s1 left/right
|
668
|
-
<% n = "#{category}_#{subcategory}
|
524
|
+
# Smalrubot s1 left/right sensor value
|
525
|
+
<% n = "#{category}_#{subcategory}_sensor_value" %>
|
669
526
|
Blockly.Blocks['<%= n %>'] =
|
670
527
|
init: ()->
|
671
528
|
@setHelpUrl('')
|
672
529
|
@setColour(<%= colors[:sensing] %>)
|
673
|
-
@interpolateMsg(<%= bm(".#{subcategory}
|
530
|
+
@interpolateMsg(<%= bm(".#{subcategory}_sensor_value") %>,
|
674
531
|
['LOR', new Blockly.FieldDropdown(lorDropdown)],
|
675
532
|
Blockly.ALIGN_RIGHT)
|
676
533
|
@setOutput(true, 'Boolean')
|
@@ -678,7 +535,7 @@ Blockly.Blocks['<%= n %>'] =
|
|
678
535
|
|
679
536
|
Blockly.Ruby['<%= n %>'] = (block) ->
|
680
537
|
lor = @getFieldValue('LOR')
|
681
|
-
Blockly.Ruby.characterMethodCallInput_("<%= subcategory %>.#{lor}
|
538
|
+
Blockly.Ruby.characterMethodCallInput_("<%= subcategory %>.#{lor}_sensor_value")
|
682
539
|
|
683
540
|
# Smalrubot s1 left/right dc motor power ratio
|
684
541
|
<% n = "#{category}_#{subcategory}_dc_motor_power_ratio" %>
|
@@ -716,3 +573,5 @@ Blockly.Ruby['<%= n %>'] = (block) ->
|
|
716
573
|
speed = Blockly.Ruby.valueToCode(@, 'SPEED', Blockly.Ruby.ORDER_NONE) || '100'
|
717
574
|
Blockly.Ruby.characterSetVariable_("<%= subcategory %>.#{lor}_dc_motor_power_ratio",
|
718
575
|
speed)
|
576
|
+
|
577
|
+
<% end %>
|
@@ -252,17 +252,17 @@ Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_SET_SPEED = "set (motor driver %1's) mo
|
|
252
252
|
Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_SPEED = "(motor driver %1's) motor speed (%)";
|
253
253
|
Blockly.Msg.BLOCKS_HARDWARE_BUTTON_PRESSED_OR_RELEASED = 'button %1 %2 ?';
|
254
254
|
Blockly.Msg.BLOCKS_HARDWARE_SENSOR_VALUE = 'sensor %1 value';
|
255
|
+
|
255
256
|
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_LED_TURN_ON_OR_OFF = '%2 Smalrubot v3 %1 LED';
|
256
|
-
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_MOTOR_SPEED = 'Smalrubot v3 %1 motor speed';
|
257
|
-
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_MOTOR_SET_SPEED = 'set Smalrubot v3 %1 motor speed to %2 %';
|
258
257
|
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_ACTION = '%1 Smalrubot v3';
|
259
258
|
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_ACTION_WITH_SEC = '%1 Smalrubot v3 for %2 secs';
|
260
|
-
Blockly.Msg.
|
261
|
-
Blockly.Msg.
|
259
|
+
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_SENSOR_VALUE = 'Smalrubot v3 %1 sensor';
|
260
|
+
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_DC_MOTOR_POWER_RATIO = 'Smalrubot v3 %1 dc motor power ratio';
|
261
|
+
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_DC_MOTOR_SET_POWER_RATIO = 'set Smalrubot v3 %1 dc motor power ratio to %2 %';
|
262
262
|
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_S1_LED_TURN_ON_OR_OFF = '%2 Smalrubot s1 %1 LED';
|
263
263
|
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_S1_ACTION = '%1 Smalrubot s1';
|
264
264
|
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_S1_ACTION_WITH_SEC = '%1 Smalrubot s1 for %2 secs';
|
265
|
-
Blockly.Msg.
|
265
|
+
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_S1_SENSOR_VALUE = 'Smalrubot s1 %1 sensor';
|
266
266
|
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_S1_DC_MOTOR_POWER_RATIO = 'Smalrubot s1 %1 dc motor power ratio';
|
267
267
|
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_S1_DC_MOTOR_SET_POWER_RATIO = 'set Smalrubot s1 %1 dc motor power ratio to %2 %';
|
268
268
|
|
@@ -86,6 +86,7 @@ Blockly.Msg.VIEWS_SIGNIN_MODAL_VIEW_ERROR = 'ログインに失敗しました';
|
|
86
86
|
|
87
87
|
// blocks/motion.js.coffee.erb
|
88
88
|
Blockly.Msg.BLOCKS_MOTION_MOVE = '■%1歩動かす';
|
89
|
+
Blockly.Msg.BLOCKS_MOTION_MOVE2 = '■%1歩動かす2';
|
89
90
|
Blockly.Msg.BLOCKS_MOTION_TURN_RIGHT_DEGREES = '■時計回りに%1度回す';
|
90
91
|
Blockly.Msg.BLOCKS_MOTION_TURN_LEFT_DEGREES = '■反時計回りに%1度回す';
|
91
92
|
Blockly.Msg.BLOCKS_MOTION_POINT_IN_DIRECTION = '■%1 度に向ける';
|
@@ -253,16 +254,15 @@ Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_SPEED = '◎(モータードライバ %
|
|
253
254
|
Blockly.Msg.BLOCKS_HARDWARE_BUTTON_PRESSED_OR_RELEASED = '◎ボタン %1 が %2 ?';
|
254
255
|
Blockly.Msg.BLOCKS_HARDWARE_SENSOR_VALUE = '◎センサー %1';
|
255
256
|
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_LED_TURN_ON_OR_OFF = '★スモウルボットV3の %1 LEDを %2';
|
256
|
-
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_MOTOR_SPEED = '◎スモウルボットV3の %1 モーターの速度(%)';
|
257
|
-
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_MOTOR_SET_SPEED = '■スモウルボットV3の %1 モーターの速度を %2 (%) にする';
|
258
257
|
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_ACTION = '■スモウルボットV3を %1';
|
259
258
|
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_ACTION_WITH_SEC = '■スモウルボットV3を %2 秒 %1';
|
260
|
-
Blockly.Msg.
|
261
|
-
Blockly.Msg.
|
259
|
+
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_SENSOR_VALUE = '◎スモウルボットV3の %1 のセンサー';
|
260
|
+
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_DC_MOTOR_POWER_RATIO = '◎スモウルボットV3の %1 DCモーターの速度(%)';
|
261
|
+
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_V3_DC_MOTOR_SET_POWER_RATIO = '■スモウルボットV3の %1 DCモーターの速度を %2 (%) にする';
|
262
262
|
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_S1_LED_TURN_ON_OR_OFF = '★スモウルボットS1の %1 LEDを %2';
|
263
263
|
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_S1_ACTION = '■スモウルボットS1を %1';
|
264
264
|
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_S1_ACTION_WITH_SEC = '■スモウルボットS1を %2 秒 %1';
|
265
|
-
Blockly.Msg.
|
265
|
+
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_S1_SENSOR_VALUE = '◎スモウルボットS1の %1 のセンサー';
|
266
266
|
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_S1_DC_MOTOR_POWER_RATIO = '◎スモウルボットS1の %1 DCモーターの速度(%)';
|
267
267
|
Blockly.Msg.BLOCKS_HARDWARE_SMALRUBOT_S1_DC_MOTOR_SET_POWER_RATIO = '■スモウルボットS1の %1 DCモーターの速度を %2 (%) にする';
|
268
268
|
|
File without changes
|
File without changes
|
@@ -5,13 +5,24 @@ module RubyToBlock
|
|
5
5
|
module HardwareOperation
|
6
6
|
extend ActiveSupport::Concern
|
7
7
|
|
8
|
+
SMALRUBOT_RE = '(smalrubot_[^.]+)'
|
8
9
|
DIO_PIN_RE = '\s*"(D(?:[2-9]|10|11|12|13))"\s*'
|
9
10
|
PWM_PIN_RE = '\s*"(D(?:3|5|6|9|10|11))"\s*'
|
10
11
|
AIO_PIN_RE = '\s*"(A[0-5])"\s*'
|
11
12
|
TWO_WHEEL_DRIVE_CAR_PIN_RE = '\s*"(D[56])"\s*'
|
12
13
|
LOR_RE = '(left|right)'
|
14
|
+
ON_OFF_RE = '(turn_on|turn_off)'
|
13
15
|
POR_RE = '(pressed|released)'
|
14
16
|
ACTION_RE = '(forward|backward|turn_left|turn_right|stop)'
|
17
|
+
|
18
|
+
included do
|
19
|
+
attr_accessor :smalrubot_name
|
20
|
+
end
|
21
|
+
|
22
|
+
def type
|
23
|
+
@type ||=
|
24
|
+
(smalrubot_name ? super.gsub('smalrubot', smalrubot_name) : super)
|
25
|
+
end
|
15
26
|
end
|
16
27
|
end
|
17
28
|
end
|
@@ -1,19 +1,22 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
module RubyToBlock
|
3
3
|
module Block
|
4
|
-
class
|
4
|
+
class HardwareSmalrubotAction < CharacterMethodCall
|
5
5
|
include HardwareOperation
|
6
6
|
|
7
7
|
# rubocop:disable LineLength
|
8
|
-
blocknize '^\s*'
|
9
|
-
|
10
|
-
|
8
|
+
blocknize ['^\s*',
|
9
|
+
CHAR_RE,
|
10
|
+
SMALRUBOT_RE, '\.',
|
11
|
+
ACTION_RE,
|
12
|
+
'\s*$'].join(''),
|
11
13
|
statement: true, inline: true
|
12
14
|
# rubocop:enable LineLength
|
13
15
|
|
14
16
|
def self.process_match_data(md, context)
|
15
17
|
md2 = regexp.match(md[type])
|
16
|
-
block = new(fields: {
|
18
|
+
block = new(fields: { ACTION: md2[3] })
|
19
|
+
block.smalrubot_name = md2[2]
|
17
20
|
add_character_method_call_block(context, md2[1], block)
|
18
21
|
true
|
19
22
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
module RubyToBlock
|
3
|
+
module Block
|
4
|
+
class HardwareSmalrubotActionWithSec < CharacterMethodCall
|
5
|
+
include HardwareOperation
|
6
|
+
|
7
|
+
# rubocop:disable LineLength
|
8
|
+
blocknize ['^\s*',
|
9
|
+
CHAR_RE,
|
10
|
+
SMALRUBOT_RE, '\.',
|
11
|
+
ACTION_RE, '\(\s*sec:\s*(\d+(?:\.\d+)?)\)',
|
12
|
+
'\s*$'].join(''),
|
13
|
+
statement: true, inline: true
|
14
|
+
# rubocop:enable LineLength
|
15
|
+
|
16
|
+
def self.process_match_data(md, context)
|
17
|
+
md2 = regexp.match(md[type])
|
18
|
+
block = new(fields: { ACTION: md2[3] })
|
19
|
+
block.smalrubot_name = md2[2]
|
20
|
+
add_character_method_call_block(context, md2[1], block, SEC: md2[4])
|
21
|
+
true
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -1,12 +1,14 @@
|
|
1
1
|
module RubyToBlock
|
2
2
|
module Block
|
3
|
-
class
|
3
|
+
class HardwareSmalrubotDcMotorPowerRatio < Value
|
4
4
|
include CharacterOperation
|
5
5
|
include HardwareOperation
|
6
6
|
|
7
|
-
blocknize '^\s*'
|
8
|
-
|
9
|
-
|
7
|
+
blocknize ['^\s*',
|
8
|
+
CHAR_RE,
|
9
|
+
SMALRUBOT_RE, '\.',
|
10
|
+
LOR_RE, '_dc_motor_power_ratio',
|
11
|
+
'\s*$'].join(''),
|
10
12
|
value: true
|
11
13
|
|
12
14
|
def self.process_match_data(md, context)
|
@@ -15,7 +17,8 @@ module RubyToBlock
|
|
15
17
|
character = get_character(context, md2[1])
|
16
18
|
return false if context.receiver && context.receiver != character
|
17
19
|
|
18
|
-
block = new(fields: { LOR: md2[
|
20
|
+
block = new(fields: { LOR: md2[3] })
|
21
|
+
block.smalrubot_name = md2[2]
|
19
22
|
context.add_value(block)
|
20
23
|
block.character = character
|
21
24
|
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
module RubyToBlock
|
3
|
+
module Block
|
4
|
+
class HardwareSmalrubotDcMotorSetPowerRatio < CharacterMethodCall
|
5
|
+
include HardwareOperation
|
6
|
+
|
7
|
+
blocknize ['^\s*',
|
8
|
+
CHAR_RE,
|
9
|
+
SMALRUBOT_RE, '\.',
|
10
|
+
LOR_RE, '_dc_motor_power_ratio\s*=\s*(\S+)',
|
11
|
+
'\s*$'].join(''),
|
12
|
+
statement: true, inline: true
|
13
|
+
|
14
|
+
def self.process_match_data(md, context)
|
15
|
+
md2 = regexp.match(md[type])
|
16
|
+
block = new(fields: { LOR: md2[3] })
|
17
|
+
block.smalrubot_name = md2[2]
|
18
|
+
add_character_method_call_block(context, md2[1], block, SPEED: md2[4])
|
19
|
+
true
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|