コード例 #1
0
        public static Payload GetPayload(byte[] serverPayload)
        {
            /*string bin_strng = "1100110001";
             * int number = 0;
             *
             * number = Convert.ToInt32(bin_strng, 2);
             * Console.WriteLine("Number value of binary \"{0}\" is = {1}",
             *  bin_strng, number);
             *
             * bin_strng = "1111100000110001";
             * number = Convert.ToInt32(bin_strng, 2);
             * Console.WriteLine("Number value of binary \"{0}\" is = {1}",
             *  bin_strng, number);
             */

            var payload  = new Payload();
            var bitArray = new BitArray(serverPayload);

            payload.Maneuver              = (Maneuver)Convert.ToInt32(FunctionHelpers.ToBitString(bitArray, 0, 3), 2);
            payload.PlatoonGap            = Convert.ToInt32(FunctionHelpers.ToBitString(bitArray, 3, 11), 2);
            payload.PlatoonOverrideStatus = Convert.ToInt32(FunctionHelpers.ToBitString(bitArray, 11, 12), 2) != 0;
            payload.VehicleRank           = Convert.ToInt32(FunctionHelpers.ToBitString(bitArray, 12, 16), 2);
            payload.BreakPedal            = Convert.ToInt32(FunctionHelpers.ToBitString(bitArray, 16, 23), 2);
            payload.PlatoonDissolveStatus = Convert.ToInt32(FunctionHelpers.ToBitString(bitArray, 23, 24), 2) != 0;
            payload.StationId             = Convert.ToInt32(FunctionHelpers.ToBitString(bitArray, 24, 56), 2);
            payload.StreamingRequests     = Convert.ToInt32(FunctionHelpers.ToBitString(bitArray, 56, 58), 2);
            payload.V2HealthStatus        = Convert.ToInt32(FunctionHelpers.ToBitString(bitArray, 58, 59), 2) != 0;
            payload.TruckRoutingStaus     = Convert.ToInt32(FunctionHelpers.ToBitString(bitArray, 59, 61), 2);
            payload.RealPayload           = Encoding.ASCII.GetString(serverPayload);

            return(payload);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: kursatarslan/mqttBroker
        private static void MqttConsumer_DataReceived(object sender, byte[] e)
        {
            var bitarry = new BitArray(e);

            Console.WriteLine("Data received ===>" + FunctionHelpers.ToBitString(bitarry, 0, bitarry.Length));
        }