@@ -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"
@@ -445,27 +446,29 @@ func getTransportDecEnc(info info.Info, podData pod_data.PodData) (*presentation
445446 for i , measurement := range packet .Measurements {
446447 switch meas := measurement .(type ) {
447448 case pod_data.NumericMeasurement :
449+ podOps := getOps (meas .PodUnits )
450+ displayOps := getOps (meas .DisplayUnits )
448451 switch meas .Type {
449452 case "uint8" :
450- descriptor [i ] = data.NewNumericDescriptor [uint8 ](data .ValueName (meas .Id ))
453+ descriptor [i ] = data .NewNumericDescriptor [uint8 ](data .ValueName (meas .Id ), podOps , displayOps )
451454 case "uint16" :
452- descriptor [i ] = data.NewNumericDescriptor [uint16 ](data .ValueName (meas .Id ))
455+ descriptor [i ] = data .NewNumericDescriptor [uint16 ](data .ValueName (meas .Id ), podOps , displayOps )
453456 case "uint32" :
454- descriptor [i ] = data.NewNumericDescriptor [uint32 ](data .ValueName (meas .Id ))
457+ descriptor [i ] = data .NewNumericDescriptor [uint32 ](data .ValueName (meas .Id ), podOps , displayOps )
455458 case "uint64" :
456- descriptor [i ] = data.NewNumericDescriptor [uint64 ](data .ValueName (meas .Id ))
459+ descriptor [i ] = data .NewNumericDescriptor [uint64 ](data .ValueName (meas .Id ), podOps , displayOps )
457460 case "int8" :
458- descriptor [i ] = data.NewNumericDescriptor [int8 ](data .ValueName (meas .Id ))
461+ descriptor [i ] = data .NewNumericDescriptor [int8 ](data .ValueName (meas .Id ), podOps , displayOps )
459462 case "int16" :
460- descriptor [i ] = data.NewNumericDescriptor [int16 ](data .ValueName (meas .Id ))
463+ descriptor [i ] = data .NewNumericDescriptor [int16 ](data .ValueName (meas .Id ), podOps , displayOps )
461464 case "int32" :
462- descriptor [i ] = data.NewNumericDescriptor [int32 ](data .ValueName (meas .Id ))
465+ descriptor [i ] = data .NewNumericDescriptor [int32 ](data .ValueName (meas .Id ), podOps , displayOps )
463466 case "int64" :
464- descriptor [i ] = data.NewNumericDescriptor [int64 ](data .ValueName (meas .Id ))
467+ descriptor [i ] = data .NewNumericDescriptor [int64 ](data .ValueName (meas .Id ), podOps , displayOps )
465468 case "float32" :
466- descriptor [i ] = data.NewNumericDescriptor [float32 ](data .ValueName (meas .Id ))
469+ descriptor [i ] = data .NewNumericDescriptor [float32 ](data .ValueName (meas .Id ), podOps , displayOps )
467470 case "float64" :
468- descriptor [i ] = data.NewNumericDescriptor [float64 ](data .ValueName (meas .Id ))
471+ descriptor [i ] = data .NewNumericDescriptor [float64 ](data .ValueName (meas .Id ), podOps , displayOps )
469472 default :
470473 panic (fmt .Sprintf ("unexpected numeric type for %s: %s" , meas .Id , meas .Type ))
471474 }
@@ -509,6 +512,17 @@ func getTransportDecEnc(info info.Info, podData pod_data.PodData) (*presentation
509512 return decoder , encoder
510513}
511514
515+ func getOps (units utils.Units ) data.ConversionDescriptor {
516+ output := make (data.ConversionDescriptor , len (units .Operations ))
517+ for i , operation := range units .Operations {
518+ output [i ] = data.Operation {
519+ Operator : operation .Operator ,
520+ Operand : operation .Operand ,
521+ }
522+ }
523+ return output
524+ }
525+
512526type TransportAPI struct {
513527 OnNotification func (abstraction.TransportNotification )
514528 OnConnectionUpdate func (abstraction.TransportTarget , bool )
0 commit comments