@@ -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/logger_handler"
2526 protection_logger "github.com/HyperloopUPV-H8/h9-backend/internal/message_logger"
@@ -436,27 +437,29 @@ func getTransportDecEnc(info info.Info, podData pod_data.PodData) (*presentation
436437 for i , measurement := range packet .Measurements {
437438 switch meas := measurement .(type ) {
438439 case pod_data.NumericMeasurement :
440+ podOps := getOps (meas .PodUnits )
441+ displayOps := getOps (meas .DisplayUnits )
439442 switch meas .Type {
440443 case "uint8" :
441- descriptor [i ] = data.NewNumericDescriptor [uint8 ](data .ValueName (meas .Id ))
444+ descriptor [i ] = data .NewNumericDescriptor [uint8 ](data .ValueName (meas .Id ), podOps , displayOps )
442445 case "uint16" :
443- descriptor [i ] = data.NewNumericDescriptor [uint16 ](data .ValueName (meas .Id ))
446+ descriptor [i ] = data .NewNumericDescriptor [uint16 ](data .ValueName (meas .Id ), podOps , displayOps )
444447 case "uint32" :
445- descriptor [i ] = data.NewNumericDescriptor [uint32 ](data .ValueName (meas .Id ))
448+ descriptor [i ] = data .NewNumericDescriptor [uint32 ](data .ValueName (meas .Id ), podOps , displayOps )
446449 case "uint64" :
447- descriptor [i ] = data.NewNumericDescriptor [uint64 ](data .ValueName (meas .Id ))
450+ descriptor [i ] = data .NewNumericDescriptor [uint64 ](data .ValueName (meas .Id ), podOps , displayOps )
448451 case "int8" :
449- descriptor [i ] = data.NewNumericDescriptor [int8 ](data .ValueName (meas .Id ))
452+ descriptor [i ] = data .NewNumericDescriptor [int8 ](data .ValueName (meas .Id ), podOps , displayOps )
450453 case "int16" :
451- descriptor [i ] = data.NewNumericDescriptor [int16 ](data .ValueName (meas .Id ))
454+ descriptor [i ] = data .NewNumericDescriptor [int16 ](data .ValueName (meas .Id ), podOps , displayOps )
452455 case "int32" :
453- descriptor [i ] = data.NewNumericDescriptor [int32 ](data .ValueName (meas .Id ))
456+ descriptor [i ] = data .NewNumericDescriptor [int32 ](data .ValueName (meas .Id ), podOps , displayOps )
454457 case "int64" :
455- descriptor [i ] = data.NewNumericDescriptor [int64 ](data .ValueName (meas .Id ))
458+ descriptor [i ] = data .NewNumericDescriptor [int64 ](data .ValueName (meas .Id ), podOps , displayOps )
456459 case "float32" :
457- descriptor [i ] = data.NewNumericDescriptor [float32 ](data .ValueName (meas .Id ))
460+ descriptor [i ] = data .NewNumericDescriptor [float32 ](data .ValueName (meas .Id ), podOps , displayOps )
458461 case "float64" :
459- descriptor [i ] = data.NewNumericDescriptor [float64 ](data .ValueName (meas .Id ))
462+ descriptor [i ] = data .NewNumericDescriptor [float64 ](data .ValueName (meas .Id ), podOps , displayOps )
460463 default :
461464 panic (fmt .Sprintf ("unexpected numeric type for %s: %s" , meas .Id , meas .Type ))
462465 }
@@ -500,6 +503,17 @@ func getTransportDecEnc(info info.Info, podData pod_data.PodData) (*presentation
500503 return decoder , encoder
501504}
502505
506+ func getOps (units utils.Units ) data.ConversionDescriptor {
507+ output := make (data.ConversionDescriptor , len (units .Operations ))
508+ for i , operation := range units .Operations {
509+ output [i ] = data.Operation {
510+ Operator : operation .Operator ,
511+ Operand : operation .Operand ,
512+ }
513+ }
514+ return output
515+ }
516+
503517type TransportAPI struct {
504518 OnNotification func (abstraction.TransportNotification )
505519 OnConnectionUpdate func (abstraction.TransportTarget , bool )
0 commit comments