compiler/tests/extras/PPCLRPSourcesResource.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 31 Jul 2015 09:35:15 +0100
changeset 513 7b8093caf796
parent 512 694a247a12ba
child 516 3b81c9e53352
permissions -rw-r--r--
Portability fix: do not use "/ style comments in PetitParser code.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
512
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/petitparser/compiler/tests/extras' }"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: Smalltalk }"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
TestResource subclass:#PPCLRPSourcesResource
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:'sources'
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'PetitCompiler-Extras-Tests-LRP'
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
!PPCLRPSourcesResource methodsFor:'accessing'!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
sources
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
    sources isNil ifTrue:[ 
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
        sources := #(
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
            doranewbridge
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
            doraultratouch
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
            escapament
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
            follower
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
            linebounderfollower
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
            linecrossfollower
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
            rtimer
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
            stairsclimber
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
            stopwatch
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
            timer
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
        ) collect:[:e | self perform: e].                
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
    ].
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
    ^ sources
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
    "Created: / 30-07-2015 / 19:04:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
! !
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
!PPCLRPSourcesResource methodsFor:'sources - individual'!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
doranewbridge
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
^ ';; A Random Space Explorer behavior for a differential drive robot
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
;; Wall collisions are detected with the ultrasonic sensor
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
(var speed :=[20])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
(var timeout := [1000 atRandom])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
(machine Dora
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
  (state forward
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
    (onentry [
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
      robot motorA startAtSpeed: speed.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
      robot motorD startAtSpeed: speed.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
    ])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    (onexit [robot fullStop]))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
  (state shock
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
    (onentry [
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
      robot motorA startAtSpeed: speed negated.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
      robot motorD startAtSpeed: speed negated.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
    ])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
    (onexit [robot fullStop]))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
  (state turn
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
    (onentry [
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
      robot motorA startAtSpeed: speed.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
      robot motorD startAtSpeed: speed negated
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
    ])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
    (onexit [
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
      robot fullStop.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
      timeout := 1000 atRandom
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
    ]))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
  (ontime 500 shock -> turn st)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
  (ontime timeout turn -> forward tf)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
  (on tooclose forward -> shock fs)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
  (event tooclose [robot sensor2 read < 200])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
(spawn Dora forward)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
'
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
    "Created: / 30-07-2015 / 17:39:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
doraultratouch
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
^ ';; A Random Space Explorer behavior for a differential drive robot
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
;; Wall collisions are detected with the ultrasonic sensor and touch sensors
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
(var speed :=[20])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
(var timeout := [1000 atRandom])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
(machine Dora
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
  (state forward
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
    (onentry [
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
      robot motorA startAtSpeed: speed.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
      robot motorD startAtSpeed: speed.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
    ])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
    (onexit [robot fullStop]))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
  (state shock
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
    (onentry [
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
      robot motorA startAtSpeed: speed negated.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
      robot motorD startAtSpeed: speed negated.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
    ])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
    (onexit [robot fullStop]))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
  (state turn
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
    (onentry [
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
      robot motorA startAtSpeed: speed.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
      robot motorD startAtSpeed: speed negated
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
    ])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
    (onexit [
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
      robot fullStop.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
      timeout := 1000 atRandom
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
    ]))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
  (ontime 500 shock -> turn st)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
  (ontime timeout turn -> forward tf)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
  (on tooclose forward -> shock fs)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
  (on shockLeft forward -> shock sl)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
  (on shockRight forward -> shock sf)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
  (event tooclose [robot sensor2 read < 200])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
  (event shockLeft [robot sensor4 read = 1])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
  (event shockRight [robot sensor1 read = 1])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
(spawn Dora forward)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
'
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
    "Created: / 30-07-2015 / 17:40:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
escapament
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
^ ';;; A simple escapement
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
(machine esc
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
        (state tick)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
        (state tock)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
        (ontime 500 tick -> tock tito)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
        (ontime 500 tock -> tick toti)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
(spawn esc tick)'
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
    "Created: / 30-07-2015 / 17:37:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
follower
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
^ ';; A line follower for a differential drive robot
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
;; Uses the Lego color sensor,
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
;; position is front and center, and pointed to the line (down)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
(var sensor := [robot sensor3])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
(var mright := [robot motorA])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
(var mleft := [robot motorD])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
(var speed := [4])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
(machine follower
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
        (state init
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
                (onentry [sensor setMode: #Mode2])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
        )
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
        (state moving
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
                (onentry [
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
                        mright startAtSpeed: speed * 2.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
                        mleft startAtSpeed: speed * 2.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
                        ])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
                (onexit [robot fullStop])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
        )
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
        (state looking
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
                (machine lookalgo
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
                        (var looktime := [1000])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
                        (state lookright
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
                                (onentry 
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
                                        [mright startAtSpeed: speed negated.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
                                        mleft startAtSpeed: speed.]))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
                        (state lookleft
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
                                )
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
                        (state centerfromright
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
                                (onentry 
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
                                        [mright startAtSpeed: speed.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
                                        mleft startAtSpeed: speed negated.]))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
                        (state centerfromleft
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
                                (onentry 
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
                                        [mright startAtSpeed: speed negated.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
                                        mleft startAtSpeed: speed.])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
                                (onexit [looktime := looktime * 2]))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
                        (ontime looktime lookright -> centerfromright tlrb)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
                        (ontime looktime centerfromright -> lookleft tlr)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
                        (ontime looktime lookleft -> centerfromleft tfail)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
                        (ontime looktime centerfromleft -> lookright tfailb)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
                        )
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
                (onentry (spawn lookalgo lookright))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
                )
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
        (eps init -> moving tinit)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
        (on out moving -> looking tms)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
        (event out [(sensor read = 1) not])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
        (event in  [sensor read = 1])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
        (on in looking -> moving tsm)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
(spawn follower init)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
'
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
    "Created: / 30-07-2015 / 17:40:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
linebounderfollower
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
^ ';; Line following robot for a differential drive robot
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
;;; that "bounces" off the left hand side of the line
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
;; Uses the Lego color sensor,
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
;; position is front and center, and pointed to the line (down)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
(var sensor := [robot sensor3])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
(var mright := [robot motorA])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
(var mleft := [robot motorD])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
(machine linebounce
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
        (state init
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
                (onentry [sensor setMode: #Mode2.]))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
        (eps init -> white iw)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
        (state white
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
                (onentry [
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
                        mright startAtSpeed: 4.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
                        mleft startAtSpeed: 18])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
                (onexit [mright stop. mleft stop]))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
        (state black
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
                (onentry [
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   208
                        mright startAtSpeed: 10.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   209
                        mleft startAtSpeed: -4])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   210
                (onexit [mright stop. mleft stop]))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
        (on seeblack white -> black wb)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
        (on seewhite black -> white bw)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
        (event seeblack [sensor read = 1])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
        (event seewhite [(sensor read = 1) not])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
(spawn linebounce init)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   217
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
'
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
    "Created: / 30-07-2015 / 17:41:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   222
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
linecrossfollower
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
^ ';;; Line following for a differential drive robot
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   225
;;; goes forward by always crossing the line
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
;; Uses the Lego color sensor,
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
;; position is front and center, and pointed to the line (down)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
(var sensor := [robot sensor3])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
(var mright := [robot motorA])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
(var mleft := [robot motorD])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   231
(var speed := [15])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
(machine linecross
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
        (state left
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
                (onentry [mright startAtSpeed: speed]))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
        (state crossfl  
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
                (onexit [mright stop]))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
        (state right
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
                (onentry [mleft startAtSpeed: speed]))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
        (state crossfr
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
                (onexit [mleft stop]))  
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
        (on black right -> crossfr rlx)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
        (on black left -> crossfl lrx)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   243
        (on white crossfr -> left rl)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
        (on white crossfl -> right lr)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   245
        (event black [sensor read = 1])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   246
        (event white [(sensor read = 1) not])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
(spawn linecross left)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   249
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
'
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   252
    "Created: / 30-07-2015 / 17:41:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
rtimer
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256
^ ';;a resettable timer with 10 sec intervals
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
(var minute := [0])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
(machine rtimer
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
        (state zero)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   260
        (state ten)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
        (state twenty)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   262
        (state thirty)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
        (state fourty)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   264
        (state fifty
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   265
                (onexit [minute := minute + 1]))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   266
        (ontime 10000 zero -> ten toten)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   267
        (ontime 10000 ten -> twenty totwenty)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   268
        (ontime 10000 twenty -> thirty tothirty)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   269
        (ontime 10000 thirty -> fourty tofourty)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   270
        (ontime 10000 fourty -> fifty tofifty)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   271
        (ontime 10000 fifty -> zero tozero)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
        (var doreset := [0])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   273
        (state init
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   274
                (onentry [minute := 0.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   275
                        doreset := 0]))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   276
        (on resetting *-> init reset)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   277
        (eps init -> zero go)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   278
        (event resetting [doreset = 1])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   279
)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
(spawn rtimer zero)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   281
'
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   282
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   283
    "Created: / 30-07-2015 / 17:38:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   284
!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   285
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   286
stairsclimber
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   287
^ ';;; A stairs climber building using the MindStorm expansion set
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   288
;;; Use the new JetStorm Bridge funcionality
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   289
;;; Use ontime transition to estimate the second step of the climbing
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
;;; Watch example in: http://youtu.be/6HXcKwMO8Fo
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   291
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
(var backWheelsSpeed := [-50])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   293
(var frontWheelsSpeed := [-50])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   294
(var climbSpeed := [-50])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
(var startGyro := [0])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
(var deltaGyro := [4])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
(machine Stair
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   298
  (state forward
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   299
    (onentry [
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   300
      robot motorA startAtSpeed: backWheelsSpeed.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   301
      robot motorB startAtSpeed: frontWheelsSpeed.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   302
      startGyro := robot sensor2 read.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   303
      ]
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   304
    )
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   305
    (onexit [
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   306
      robot fullStop.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   307
      ]
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   308
    )
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   309
  )
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   310
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   311
  (state climb
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   312
    (onentry [
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   313
      robot motorD startAtSpeed: climbSpeed.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   314
      robot motorB startAtSpeed: frontWheelsSpeed.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   315
      ]
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   316
    )
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   317
    (onexit [
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   318
      robot fullStop.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   319
      ]
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   320
    )
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   321
  )
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   322
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   323
  (state forward2
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   324
    (onentry [
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   325
      robot motorA startAtSpeed: backWheelsSpeed.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   326
      robot motorB startAtSpeed: frontWheelsSpeed.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   327
      ]
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   328
    )
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   329
  )
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   330
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   331
  (state climb2
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   332
    (onentry [
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   333
      robot motorD startAtSpeed: climbSpeed negated.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   334
      ]
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   335
    )
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   336
    (onexit [
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   337
      robot fullStop 
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   338
      ]
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   339
    )
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   340
  )
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   341
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   342
  (state stop
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   343
    (onentry [robot fullStop])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   344
  )
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   345
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   346
  (on incline forward -> climb incline)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   347
  (on finishClimb climb -> forward2 finishClimb)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   348
  (event finishClimb [robot sensor3 read == 1])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   349
  (event incline [robot sensor2 read > (deltaGyro + startGyro)])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   350
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   351
  (ontime 3000 forward2 -> climb2 for2)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   352
  (ontime 6000 climb2 -> forward loop)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   353
)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   354
(spawn Stair forward)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   355
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   356
'
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   357
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   358
    "Created: / 30-07-2015 / 17:42:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   359
!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   360
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   361
stopwatch
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   362
^ ';; A stopwatch.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   363
;; Inspect the variables start and reset,
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   364
;; and from the inspectors change the values
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   365
(machine stopwatch
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   366
        (var start := [false])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   367
        (var reset := [false])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   368
        (var seconds := [0])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   369
        (state waiting )
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   370
        (on e_starting waiting -> tick t_st)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   371
        (event e_starting [start])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   372
        (state tick)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   373
        (state tock (onexit [seconds := seconds + 1]))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   374
        (ontime 500 tick -> tock t_tito)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   375
        (ontime 500 tock -> tick t_toti)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   376
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   377
        (on e_reset *-> resetting t_reset)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   378
        (event e_reset [reset])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   379
        (state resetting
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   380
                (onentry [reset := false. seconds := 0] ))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   381
        (eps resetting -> tick t_et)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   382
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   383
        (on e_stop *-> waiting t_es)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   384
        (event e_stop [start not])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   385
)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   386
(spawn stopwatch waiting)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   387
'
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   388
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   389
    "Created: / 30-07-2015 / 17:38:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   390
!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   391
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   392
timer
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   393
^ ';; a timer with 10 sec intervals
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   394
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   395
(var minute := [0])
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   396
(machine timer
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   397
        (state zero)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   398
        (state ten)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   399
        (state twenty)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   400
        (state thirty)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   401
        (state fourty)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   402
        (state fifty
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   403
                (onexit [minute := minute + 1]))
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   404
        (ontime 10000 zero -> ten toten)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   405
        (ontime 10000 ten -> twenty totwenty)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   406
        (ontime 10000 twenty -> thirty tothirty)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   407
        (ontime 10000 thirty -> fourty tofourty)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   408
        (ontime 10000 fourty -> fifty tofifty)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   409
        (ontime 10000 fifty -> zero tozero)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   410
)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   411
(spawn timer zero)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   412
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   413
'
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   414
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   415
    "Created: / 30-07-2015 / 17:39:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   416
! !
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   417