# Real-Time Robotics Framework

### Sidebar

eeros_architecture:hal:scaling_multi

This is an old revision of the document!

# Setting Multiple Scales and Ranges

Within eeros we work with signals having physically meaningful units. However, when such signals are read from real-world hardware we use analog-to-digital converters or encoder which are basically counters. When outputting such signals we use digital-to-analog converters. These counters or converters all deliver or need an integer value. Its maximum and minimum value depend on the resolution of the underlying hardware. The scale and range key allows to convert between the necessary integer value and the physically meaningsful signals.

Example of Output with Multiple Stages
  "channel0": {
"signalId": "dacOut",
"scale": [ { "id" : "dac",
"minIn":    1000, "maxIn":  64000,
"minOut": -9.787, "maxOut": 9.923 } ],
"range": [ { "id" : "dac",
"minIn":       0, "maxIn":  65536,
"minOut":  -10.0, "maxOut":  10.0 } ],
"unit": "V"
}