F12021TelemetryListener constructor

F12021TelemetryListener(
  1. int port
)

Implementation

F12021TelemetryListener(this.port) {
  _udpStream.stream.listen((event) {
    ParserUtil.getParsedData(event).then((header) {
      _packetHeaderStream.add(header as PacketHeader);
      ParserUtil.getParsedData(event, header).then((fullPacket) {
        switch (Types.values[header.m_packetId]) {
          case Types.motion:
            _packetMotionDataStream.add(fullPacket as PacketMotionData);
            break;
          case Types.session:
            _packetSessionDataStream.add(fullPacket as PacketSessionData);
            break;
          case Types.lap_data:
            _packetLapDataStream.add(fullPacket as PacketLapData);
            break;
          case Types.event:
            _packetEventDataStream.add(fullPacket as PacketEventData);
            break;
          case Types.participants:
            _packetParticipantsDataStream
                .add(fullPacket as PacketParticipantsData);
            break;
          case Types.car_setups:
            _packetCarSetupDataStream.add(fullPacket as PacketCarSetupData);
            break;
          case Types.car_telemetry:
            _packetCarTelemetryDataStream
                .add(fullPacket as PacketCarTelemetryData);
            break;
          case Types.car_status:
            _packetCarStatusDataStream.add(fullPacket as PacketCarStatusData);
            break;
          case Types.final_classification:
            _packetFinalClassificationDataStream
                .add(fullPacket as PacketFinalClassificationData);
            break;
          case Types.lobby_info:
            _packetLobbyInfoDataStream.add(fullPacket as PacketLobbyInfoData);
            break;
          case Types.car_damage:
            _packetCarDamageDataStream.add(fullPacket as PacketCarDamageData);
            break;
          case Types.session_history:
            _packetSessionHistoryDataStream
                .add(fullPacket as PacketSessionHistoryData);
            break;
          case Types.unknown:
            _logger.e("Unknown packet type: ${header.m_packetId}");
            break;
        }
      });
    });
  });
}