Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions internal/convert/brand.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package convert

import (
rfmsv5 "github.com/way-platform/rfms-go/proto/gen/go/wayplatform/rfms/v5"
)

// Brand converts an rFMS brand to proto.
func Brand(input string) rfmsv5.Brand {
switch input {
case "VOLVO TRUCKS":
return rfmsv5.Brand_VOLVO_TRUCKS
case "SCANIA":
return rfmsv5.Brand_SCANIA
case "DAIMLER":
return rfmsv5.Brand_DAIMLER
case "IVECO":
return rfmsv5.Brand_IVECO
case "DAF":
return rfmsv5.Brand_DAF
case "MAN":
return rfmsv5.Brand_MAN
case "RENAULT TRUCKS":
return rfmsv5.Brand_RENAULT_TRUCKS
case "VDL":
return rfmsv5.Brand_VDL
case "VOLVO BUSES":
return rfmsv5.Brand_VOLVO_BUSES
case "IVECO BUS":
return rfmsv5.Brand_IVECO_BUS
case "HEULIEZ":
return rfmsv5.Brand_HEULIEZ
case "VWTB":
return rfmsv5.Brand_VWTB
case "KENWORTH":
return rfmsv5.Brand_KENWORTH
case "PETERBILT":
return rfmsv5.Brand_PETERBILT
case "MACK TRUCKS":
return rfmsv5.Brand_MACK_TRUCKS
case "INTERNATIONAL":
return rfmsv5.Brand_INTERNATIONAL
case "IC BUS":
return rfmsv5.Brand_IC_BUS
default:
return rfmsv5.Brand_BRAND_UNKNOWN
}
}
16 changes: 8 additions & 8 deletions internal/convert/convertv2/accumulateddata.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@ func accumulatedData(input *rfmsv2oapi.AccumulatedType) *rfmsv5.AccumulatedData
var output rfmsv5.AccumulatedData
if input.AccelerationClass != nil {
for _, fromToAccelerationClass := range input.AccelerationClass.Value {
output.SetAccelerationClass(append(output.GetAccelerationClass(), fromToClass(&fromToAccelerationClass)))
output.SetAccelerationClassMps2(append(output.GetAccelerationClassMps2(), fromToClass(&fromToAccelerationClass)))
}
}
if input.AccelerationDuringBrakeClass != nil {
for _, fromToAccelerationDuringBrakeClass := range input.AccelerationDuringBrakeClass.Value {
output.SetAccelerationDuringBrakeClass(append(output.GetAccelerationDuringBrakeClass(), fromToClass(&fromToAccelerationDuringBrakeClass)))
output.SetAccelerationDuringBrakeClassMps2(append(output.GetAccelerationDuringBrakeClassMps2(), fromToClass(&fromToAccelerationDuringBrakeClass)))
}
}
if input.AccelerationPedalPositionClass != nil {
for _, fromToAccelerationPedalPositionClass := range input.AccelerationPedalPositionClass.Value {
output.SetAccelerationPedalPositionClass(append(output.GetAccelerationPedalPositionClass(), fromToClass(&fromToAccelerationPedalPositionClass)))
output.SetAccelerationPedalPositionClassPercent(append(output.GetAccelerationPedalPositionClassPercent(), fromToClass(&fromToAccelerationPedalPositionClass)))
}
}
if input.BrakePedalCounterSpeedOverZero != nil {
Expand Down Expand Up @@ -65,12 +65,12 @@ func accumulatedData(input *rfmsv2oapi.AccumulatedType) *rfmsv5.AccumulatedData
}
if input.EngineSpeedClass != nil {
for _, fromToEngineSpeedClass := range input.EngineSpeedClass.Value {
output.SetEngineSpeedClass(append(output.GetEngineSpeedClass(), fromToClass(&fromToEngineSpeedClass)))
output.SetEngineSpeedClassRpm(append(output.GetEngineSpeedClassRpm(), fromToClass(&fromToEngineSpeedClass)))
}
}
if input.EngineTorqueClass != nil {
for _, fromToEngineTorqueClass := range input.EngineTorqueClass.Value {
output.SetEngineTorqueClass(append(output.GetEngineTorqueClass(), fromToClassCombustion(&fromToEngineTorqueClass)))
output.SetEngineTorqueClassPercent(append(output.GetEngineTorqueClassPercent(), fromToClassCombustion(&fromToEngineTorqueClass)))
}
}
if input.FuelConsumptionCruiseControlActive != nil {
Expand All @@ -87,7 +87,7 @@ func accumulatedData(input *rfmsv2oapi.AccumulatedType) *rfmsv5.AccumulatedData
}
if input.HighAccelerationClass != nil {
for _, fromToHighAccelerationClass := range input.HighAccelerationClass.Value {
output.SetHighAccelerationClass(append(output.GetHighAccelerationClass(), fromToClass(&fromToHighAccelerationClass)))
output.SetHighAccelerationClassMps2(append(output.GetHighAccelerationClassMps2(), fromToClass(&fromToHighAccelerationClass)))
}
}
if input.KneelingCounter != nil {
Expand All @@ -103,7 +103,7 @@ func accumulatedData(input *rfmsv2oapi.AccumulatedType) *rfmsv5.AccumulatedData
}
if input.RetarderTorqueClass != nil {
for _, fromToRetarderTorqueClass := range input.RetarderTorqueClass.Value {
output.SetRetarderTorqueClass(append(output.GetRetarderTorqueClass(), fromToClass(&fromToRetarderTorqueClass)))
output.SetRetarderTorqueClassPercent(append(output.GetRetarderTorqueClassPercent(), fromToClass(&fromToRetarderTorqueClass)))
}
}
if input.SelectedGearClass != nil {
Expand All @@ -116,7 +116,7 @@ func accumulatedData(input *rfmsv2oapi.AccumulatedType) *rfmsv5.AccumulatedData
}
if input.VehicleSpeedClass != nil {
for _, fromToVehicleSpeedClass := range input.VehicleSpeedClass.Value {
output.SetVehicleSpeedClass(append(output.GetVehicleSpeedClass(), fromToClass(&fromToVehicleSpeedClass)))
output.SetVehicleSpeedClassKmh(append(output.GetVehicleSpeedClassKmh(), fromToClass(&fromToVehicleSpeedClass)))
}
}
return &output
Expand Down
4 changes: 3 additions & 1 deletion internal/convert/convertv2/gnssposition.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package convertv2

import (
"time"

"github.com/way-platform/rfms-go/internal/openapi/rfmsv2oapi"
rfmsv5 "github.com/way-platform/rfms-go/proto/gen/go/wayplatform/rfms/v5"
)
Expand All @@ -23,7 +25,7 @@ func gnssPosition(input *rfmsv2oapi.GNSSPositionType) *rfmsv5.GnssPosition {
output.SetSpeedKmh(*input.Speed)
}
if input.PositionDateTime != nil {
output.SetTime(input.PositionDateTime.UnixMicro())
output.SetTime(time.Time(*input.PositionDateTime).UTC().Format(time.RFC3339Nano))
}
return &output
}
2 changes: 1 addition & 1 deletion internal/convert/convertv2/snapshotdata.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ func snapshotData(input *rfmsv2oapi.SnapshotType) *rfmsv5.SnapshotData {
}
}
if input.Driver2ID != nil {
output.SetDriver2(driverIdentification(input.Driver2ID))
output.SetDriver2Id(driverIdentification(input.Driver2ID))
}
if input.CatalystFuelLevel != nil {
output.SetCatalystFuelLevelPercent(*input.CatalystFuelLevel)
Expand Down
4 changes: 2 additions & 2 deletions internal/convert/convertv2/trigger.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@ func trigger(input *rfmsv2oapi.TriggerType) *rfmsv5.Trigger {
}
}
if len(input.TriggerInfo) > 0 {
output.SetAdditionalInfo(input.TriggerInfo)
output.SetTriggerInfo(input.TriggerInfo)
}
if input.PtoID != nil {
output.SetPtoId(*input.PtoID)
}
if input.DriverID != nil {
output.SetDriverInfo(driverIdentification(input.DriverID))
output.SetDriverId(driverIdentification(input.DriverID))
}
if len(input.TellTaleInfo) > 0 {
output.SetTellTaleInfo(tellTale(&input.TellTaleInfo[0]))
Expand Down
18 changes: 9 additions & 9 deletions internal/convert/convertv2/vehicle.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ func Vehicle(input *rfmsv2oapi.VehicleType) *rfmsv5.Vehicle {
}
}
if input.Brand != nil {
output.SetBrand(convert.VehicleBrand(*input.Brand))
if output.GetBrand() == rfmsv5.Vehicle_BRAND_UNKNOWN {
output.SetBrand(convert.Brand(*input.Brand))
if output.GetBrand() == rfmsv5.Brand_BRAND_UNKNOWN {
output.SetUnknownBrand(*input.Brand)
}
}
Expand All @@ -36,14 +36,14 @@ func Vehicle(input *rfmsv2oapi.VehicleType) *rfmsv5.Vehicle {
}
}
if input.EmissionLevel != nil {
output.SetEmissionLevel(convert.VehicleEmissionLevel(*input.EmissionLevel))
if output.GetEmissionLevel() == rfmsv5.Vehicle_EMISSION_LEVEL_UNKNOWN {
output.SetEmissionLevel(convert.EmissionLevel(*input.EmissionLevel))
if output.GetEmissionLevel() == rfmsv5.EmissionLevel_EMISSION_LEVEL_UNKNOWN {
output.SetUnknownEmissionLevel(*input.EmissionLevel)
}
}
if input.GearboxType != nil {
output.SetGearboxType(convert.VehicleGearboxType(*input.GearboxType))
if output.GetGearboxType() == rfmsv5.Vehicle_GEARBOX_TYPE_UNKNOWN {
output.SetGearboxType(convert.GearboxType(*input.GearboxType))
if output.GetGearboxType() == rfmsv5.GearboxType_GEARBOX_TYPE_UNKNOWN {
output.SetUnknownGearboxType(string(*input.GearboxType))
}
}
Expand All @@ -61,16 +61,16 @@ func Vehicle(input *rfmsv2oapi.VehicleType) *rfmsv5.Vehicle {
fuelType := convert.FuelType(possibleFuelType)
output.SetPossibleFuelTypes(append(output.GetPossibleFuelTypes(), fuelType))
if fuelType == rfmsv5.FuelType_FUEL_TYPE_UNKNOWN {
output.SetUnknownPossibleFuelTypes(append(output.GetUnknownPossibleFuelTypes(), fuelType))
output.SetUnknownPossibleFuelTypes(append(output.GetUnknownPossibleFuelTypes(), possibleFuelType))
}
}
}
if input.ProductionDate != nil {
output.SetProductionDate(convert.Date(input.ProductionDate.Year, input.ProductionDate.Month, input.ProductionDate.Day))
}
if input.TachographType != nil {
output.SetTachographType(convert.VehicleTachographType(*input.TachographType))
if output.GetTachographType() == rfmsv5.Vehicle_TACHOGRAPH_TYPE_UNKNOWN {
output.SetTachographType(convert.TachographType(*input.TachographType))
if output.GetTachographType() == rfmsv5.TachographType_TACHOGRAPH_TYPE_UNKNOWN {
output.SetUnknownTachographType(string(*input.TachographType))
}
}
Expand Down
6 changes: 4 additions & 2 deletions internal/convert/convertv2/vehicleposition.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package convertv2

import (
"time"

"github.com/way-platform/rfms-go/internal/openapi/rfmsv2oapi"
rfmsv5 "github.com/way-platform/rfms-go/proto/gen/go/wayplatform/rfms/v5"
)
Expand All @@ -15,10 +17,10 @@ func VehiclePosition(input *rfmsv2oapi.VehiclePositionType) *rfmsv5.VehiclePosit
output.SetTrigger(trigger(input.TriggerType))
}
if input.CreatedDateTime != nil {
output.SetCreateTime(input.CreatedDateTime.UnixMicro())
output.SetCreateTime(time.Time(*input.CreatedDateTime).UTC().Format(time.RFC3339Nano))
}
if input.ReceivedDateTime != nil {
output.SetReceiveTime(input.ReceivedDateTime.UnixMicro())
output.SetReceiveTime(time.Time(*input.ReceivedDateTime).UTC().Format(time.RFC3339Nano))
}
if input.GNSSPosition != nil {
output.SetGnssPosition(gnssPosition(input.GNSSPosition))
Expand Down
10 changes: 6 additions & 4 deletions internal/convert/convertv2/vehiclestatus.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package convertv2

import (
"time"

"github.com/way-platform/rfms-go/internal/convert"
"github.com/way-platform/rfms-go/internal/openapi/rfmsv2oapi"
rfmsv5 "github.com/way-platform/rfms-go/proto/gen/go/wayplatform/rfms/v5"
Expand All @@ -16,19 +18,19 @@ func VehicleStatus(input *rfmsv2oapi.VehicleStatusType) *rfmsv5.VehicleStatus {
output.SetTrigger(trigger(input.TriggerType))
}
if input.CreatedDateTime != nil {
output.SetCreateTime(input.CreatedDateTime.UnixMicro())
output.SetCreateTime(time.Time(*input.CreatedDateTime).UTC().Format(time.RFC3339Nano))
}
if input.ReceivedDateTime != nil {
output.SetReceiveTime(input.ReceivedDateTime.UnixMicro())
output.SetReceiveTime(time.Time(*input.ReceivedDateTime).UTC().Format(time.RFC3339Nano))
}
if input.HRTotalVehicleDistance != nil {
output.SetTotalVehicleDistanceM(*input.HRTotalVehicleDistance)
output.SetHrTotalVehicleDistanceM(float64(*input.HRTotalVehicleDistance))
}
if input.TotalEngineHours != nil {
output.SetTotalEngineHours(*input.TotalEngineHours)
}
if input.Driver1ID != nil {
output.SetDriver1(driverIdentification(input.Driver1ID))
output.SetDriver1Id(driverIdentification(input.Driver1ID))
}
if input.GrossCombinationVehicleWeight != nil {
output.SetGrossCombinationVehicleWeightKg(float64(*input.GrossCombinationVehicleWeight))
Expand Down
26 changes: 13 additions & 13 deletions internal/convert/convertv4/accumulateddata.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,27 +63,27 @@ func accumulatedData(input *rfmsv4oapi.AccumulatedDataObject) *rfmsv5.Accumulate
}
if input.AccelerationPedalPositionClass != nil {
for _, fromToAccelerationPedalPositionClass := range input.AccelerationPedalPositionClass {
output.SetAccelerationPedalPositionClass(append(output.GetAccelerationPedalPositionClass(), fromToClass(&fromToAccelerationPedalPositionClass)))
output.SetAccelerationPedalPositionClassPercent(append(output.GetAccelerationPedalPositionClassPercent(), fromToClass(&fromToAccelerationPedalPositionClass)))
}
}
if input.BrakePedalPositionClass != nil {
for _, fromToBrakePedalPositionClass := range input.BrakePedalPositionClass {
output.SetBrakePedalPositionClass(append(output.GetBrakePedalPositionClass(), fromToClass(&fromToBrakePedalPositionClass)))
output.SetBrakePedalPositionClassPercent(append(output.GetBrakePedalPositionClassPercent(), fromToClass(&fromToBrakePedalPositionClass)))
}
}
if input.AccelerationClass != nil {
for _, fromToAccelerationClass := range input.AccelerationClass {
output.SetAccelerationClass(append(output.GetAccelerationClass(), fromToClass(&fromToAccelerationClass)))
output.SetAccelerationClassMps2(append(output.GetAccelerationClassMps2(), fromToClass(&fromToAccelerationClass)))
}
}
if input.HighAccelerationClass != nil {
for _, fromToHighAccelerationClass := range input.HighAccelerationClass {
output.SetHighAccelerationClass(append(output.GetHighAccelerationClass(), fromToClass(&fromToHighAccelerationClass)))
output.SetHighAccelerationClassMps2(append(output.GetHighAccelerationClassMps2(), fromToClass(&fromToHighAccelerationClass)))
}
}
if input.RetarderTorqueClass != nil {
for _, fromToRetarderTorqueClass := range input.RetarderTorqueClass {
output.SetRetarderTorqueClass(append(output.GetRetarderTorqueClass(), fromToClass(&fromToRetarderTorqueClass)))
output.SetRetarderTorqueClassPercent(append(output.GetRetarderTorqueClassPercent(), fromToClass(&fromToRetarderTorqueClass)))
}
}
if input.DrivingWithoutTorqueClass != nil {
Expand All @@ -93,37 +93,37 @@ func accumulatedData(input *rfmsv4oapi.AccumulatedDataObject) *rfmsv5.Accumulate
}
if input.EngineTorqueClass != nil {
for _, fromToEngineTorqueClass := range input.EngineTorqueClass {
output.SetEngineTorqueClass(append(output.GetEngineTorqueClass(), fromToClassCombustion(&fromToEngineTorqueClass)))
output.SetEngineTorqueClassPercent(append(output.GetEngineTorqueClassPercent(), fromToClassCombustion(&fromToEngineTorqueClass)))
}
}
if input.ElectricMotorTorqueClass != nil {
for _, fromToElectricMotorTorqueClass := range input.ElectricMotorTorqueClass {
output.SetElectricMotorTorqueClass(append(output.GetElectricMotorTorqueClass(), fromToClassElectrical(&fromToElectricMotorTorqueClass)))
output.SetElectricMotorTorqueClassPercent(append(output.GetElectricMotorTorqueClassPercent(), fromToClassElectrical(&fromToElectricMotorTorqueClass)))
}
}
if input.EngineTorqueAtCurrentSpeedClass != nil {
for _, fromToEngineTorqueAtCurrentSpeedClass := range input.EngineTorqueAtCurrentSpeedClass {
output.SetEngineTorqueAtCurrentSpeedClass(append(output.GetEngineTorqueAtCurrentSpeedClass(), fromToClassCombustion(&fromToEngineTorqueAtCurrentSpeedClass)))
output.SetEngineTorqueAtCurrentSpeedClassPercent(append(output.GetEngineTorqueAtCurrentSpeedClassPercent(), fromToClassCombustion(&fromToEngineTorqueAtCurrentSpeedClass)))
}
}
if input.ElectricMotorTorqueAtCurrentSpeedClass != nil {
for _, fromToElectricMotorTorqueAtCurrentSpeedClass := range input.ElectricMotorTorqueAtCurrentSpeedClass {
output.SetElectricMotorTorqueAtCurrentSpeedClass(append(output.GetElectricMotorTorqueAtCurrentSpeedClass(), fromToClassElectrical(&fromToElectricMotorTorqueAtCurrentSpeedClass)))
output.SetElectricMotorTorqueAtCurrentSpeedClassPercent(append(output.GetElectricMotorTorqueAtCurrentSpeedClassPercent(), fromToClassElectrical(&fromToElectricMotorTorqueAtCurrentSpeedClass)))
}
}
if input.VehicleSpeedClass != nil {
for _, fromToVehicleSpeedClass := range input.VehicleSpeedClass {
output.SetVehicleSpeedClass(append(output.GetVehicleSpeedClass(), fromToClass(&fromToVehicleSpeedClass)))
output.SetVehicleSpeedClassKmh(append(output.GetVehicleSpeedClassKmh(), fromToClass(&fromToVehicleSpeedClass)))
}
}
if input.EngineSpeedClass != nil {
for _, fromToEngineSpeedClass := range input.EngineSpeedClass {
output.SetEngineSpeedClass(append(output.GetEngineSpeedClass(), fromToClass(&fromToEngineSpeedClass)))
output.SetEngineSpeedClassRpm(append(output.GetEngineSpeedClassRpm(), fromToClass(&fromToEngineSpeedClass)))
}
}
if input.AccelerationDuringBrakeClass != nil {
for _, fromToAccelerationDuringBrakeClass := range input.AccelerationDuringBrakeClass {
output.SetAccelerationDuringBrakeClass(append(output.GetAccelerationDuringBrakeClass(), fromToClass(&fromToAccelerationDuringBrakeClass)))
output.SetAccelerationDuringBrakeClassMps2(append(output.GetAccelerationDuringBrakeClassMps2(), fromToClass(&fromToAccelerationDuringBrakeClass)))
}
}
if input.SelectedGearClass != nil {
Expand All @@ -150,7 +150,7 @@ func accumulatedData(input *rfmsv4oapi.AccumulatedDataObject) *rfmsv5.Accumulate
}
if input.ElectricPowerRecuperationClass != nil {
for _, fromToElectricPowerRecuperationClass := range input.ElectricPowerRecuperationClass {
output.SetElectricPowerRecuperationClass(append(output.GetElectricPowerRecuperationClass(), fromToClassElectrical(&fromToElectricPowerRecuperationClass)))
output.SetElectricPowerRecuperationClassKw(append(output.GetElectricPowerRecuperationClassKw(), fromToClassElectrical(&fromToElectricPowerRecuperationClass)))
}
}
return &output
Expand Down
2 changes: 1 addition & 1 deletion internal/convert/convertv4/gnssposition.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ func gnssPosition(input *rfmsv4oapi.GNSSPositionObject) *rfmsv5.GnssPosition {
output.SetSpeedKmh(*input.Speed)
}
if input.PositionDateTime != nil {
output.SetTime(time.Time(*input.PositionDateTime).UnixMicro())
output.SetTime(time.Time(*input.PositionDateTime).UTC().Format(time.RFC3339Nano))
}
return &output
}
2 changes: 1 addition & 1 deletion internal/convert/convertv4/snapshotdata.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ func snapshotData(input *rfmsv4oapi.SnapshotDataObject) *rfmsv5.SnapshotData {
}
}
if input.Driver2ID != nil {
output.SetDriver2(driverIdentification(input.Driver2ID))
output.SetDriver2Id(driverIdentification(input.Driver2ID))
}
if input.CatalystFuelLevel != nil {
output.SetCatalystFuelLevelPercent(*input.CatalystFuelLevel)
Expand Down
4 changes: 2 additions & 2 deletions internal/convert/convertv4/trigger.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@ func trigger(input *rfmsv4oapi.TriggerObject) *rfmsv5.Trigger {
}
}
if len(input.TriggerInfo) > 0 {
output.SetAdditionalInfo(input.TriggerInfo)
output.SetTriggerInfo(input.TriggerInfo)
}
if input.PtoID != nil {
output.SetPtoId(*input.PtoID)
}
if input.DriverID != nil {
output.SetDriverInfo(driverIdentification(input.DriverID))
output.SetDriverId(driverIdentification(input.DriverID))
}
if input.TellTaleInfo != nil {
output.SetTellTaleInfo(tellTale(input.TellTaleInfo))
Expand Down
Loading