@@ -20,6 +20,7 @@ import (
2020 "github.com/HyperloopUPV-H8/h9-backend/internal/data_transfer"
2121 "github.com/HyperloopUPV-H8/h9-backend/internal/excel"
2222 "github.com/HyperloopUPV-H8/h9-backend/internal/excel/ade"
23+ "github.com/HyperloopUPV-H8/h9-backend/internal/excel/utils"
2324 "github.com/HyperloopUPV-H8/h9-backend/internal/info"
2425 "github.com/HyperloopUPV-H8/h9-backend/internal/message_transfer"
2526 "github.com/HyperloopUPV-H8/h9-backend/internal/order_transfer"
@@ -464,27 +465,29 @@ func getTransportDecEnc(info info.Info, podData pod_data.PodData) (*presentation
464465 for i , measurement := range packet .Measurements {
465466 switch meas := measurement .(type ) {
466467 case pod_data.NumericMeasurement :
468+ podOps := getOps (meas .PodUnits )
469+ displayOps := getOps (meas .DisplayUnits )
467470 switch meas .Type {
468471 case "uint8" :
469- descriptor [i ] = data.NewNumericDescriptor [uint8 ](data .ValueName (meas .Id ))
472+ descriptor [i ] = data .NewNumericDescriptor [uint8 ](data .ValueName (meas .Id ), podOps , displayOps )
470473 case "uint16" :
471- descriptor [i ] = data.NewNumericDescriptor [uint16 ](data .ValueName (meas .Id ))
474+ descriptor [i ] = data .NewNumericDescriptor [uint16 ](data .ValueName (meas .Id ), podOps , displayOps )
472475 case "uint32" :
473- descriptor [i ] = data.NewNumericDescriptor [uint32 ](data .ValueName (meas .Id ))
476+ descriptor [i ] = data .NewNumericDescriptor [uint32 ](data .ValueName (meas .Id ), podOps , displayOps )
474477 case "uint64" :
475- descriptor [i ] = data.NewNumericDescriptor [uint64 ](data .ValueName (meas .Id ))
478+ descriptor [i ] = data .NewNumericDescriptor [uint64 ](data .ValueName (meas .Id ), podOps , displayOps )
476479 case "int8" :
477- descriptor [i ] = data.NewNumericDescriptor [int8 ](data .ValueName (meas .Id ))
480+ descriptor [i ] = data .NewNumericDescriptor [int8 ](data .ValueName (meas .Id ), podOps , displayOps )
478481 case "int16" :
479- descriptor [i ] = data.NewNumericDescriptor [int16 ](data .ValueName (meas .Id ))
482+ descriptor [i ] = data .NewNumericDescriptor [int16 ](data .ValueName (meas .Id ), podOps , displayOps )
480483 case "int32" :
481- descriptor [i ] = data.NewNumericDescriptor [int32 ](data .ValueName (meas .Id ))
484+ descriptor [i ] = data .NewNumericDescriptor [int32 ](data .ValueName (meas .Id ), podOps , displayOps )
482485 case "int64" :
483- descriptor [i ] = data.NewNumericDescriptor [int64 ](data .ValueName (meas .Id ))
486+ descriptor [i ] = data .NewNumericDescriptor [int64 ](data .ValueName (meas .Id ), podOps , displayOps )
484487 case "float32" :
485- descriptor [i ] = data.NewNumericDescriptor [float32 ](data .ValueName (meas .Id ))
488+ descriptor [i ] = data .NewNumericDescriptor [float32 ](data .ValueName (meas .Id ), podOps , displayOps )
486489 case "float64" :
487- descriptor [i ] = data.NewNumericDescriptor [float64 ](data .ValueName (meas .Id ))
490+ descriptor [i ] = data .NewNumericDescriptor [float64 ](data .ValueName (meas .Id ), podOps , displayOps )
488491 default :
489492 panic (fmt .Sprintf ("unexpected numeric type for %s: %s" , meas .Id , meas .Type ))
490493 }
@@ -528,6 +531,17 @@ func getTransportDecEnc(info info.Info, podData pod_data.PodData) (*presentation
528531 return decoder , encoder
529532}
530533
534+ func getOps (units utils.Units ) data.ConversionDescriptor {
535+ output := make (data.ConversionDescriptor , len (units .Operations ))
536+ for i , operation := range units .Operations {
537+ output [i ] = data.Operation {
538+ Operator : operation .Operator ,
539+ Operand : operation .Operand ,
540+ }
541+ }
542+ return output
543+ }
544+
531545type TransportAPI struct {
532546 OnNotification func (abstraction.TransportNotification )
533547 OnConnectionUpdate func (abstraction.TransportTarget , bool )
0 commit comments