Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

SCCharts

Simple States

Initial State

Transitions

Immediate Transitions

Final State

Comments


Declarations & Variables

Types

Arrays

Constants


Tuples

You can assign a whole vector at once to an array. 

scchart tuples {
  output int arr[5] = {1, 2, 3, 4, 5}

  initial state init {
  	entry do arr = {6, 7, 8, 9, 10}
  }
}

To assign only certain values of an array, you can also use the ignore value placeholder. Consult the expression manual for further information.

scchart tuples {
  const int A = 1
  output int arr[3][2] = {{A,0}, {2,0}, {3,0}}

  initial state init
    --> init do arr = {{arr[0] + 1, _}, _, {arr[2] + 1, _}}
}

This would, for example, result in c code assignments as displayed on the right.

void logic(TickData* d) {
  d->_g0 = d->_GO;
  if (d->_g0) {
    d->arr[0][0] = 1;
    d->arr[0][1] = 0;
    d->arr[1][0] = 2;
    d->arr[1][1] = 0;
    d->arr[2][0] = 3;
    d->arr[2][1] = 0;
  }
  d->_g2 = d->_pg1;
  if (d->_g2) {
    d->arr[0][0] = d->arr[0] + 1;
    d->arr[2][0] = d->arr[2] + 1;
  }
  d->_g1 = d->_g0 || d->_g2;
}

Hierarchy & Concurrency

Superstates

Regions


Actions

Entry Action

During Action

Exit Action


Complex Transitions

Count Delay

Shallow History

Deep History

Deferred


Signals

References

Hostcode

Annotations

Pragmas

Expressions


  • No labels