1#! /usr/bin/env bash 2# Copyright 2018 Oticon A/S 3# SPDX-License-Identifier: Apache-2.0 4 5# Script to convert the BabbleSim 2G4 phy dumps into the format the ellisys can 6# import (v1.1), supporting 2Mbps BLE 7# 8# Run for example as: 9#./convert_results_to_ellisysv2.sh ../../results/Hola/d_*.Tx.csv > ~/c_drive/Users/alpi/LocalDocs/trial.bttrp 10 11Input_files="$@" 12TMP_FILE=$(mktemp) 13 14echo -n "" > $TMP_FILE 15for file in $Input_files 16do 17 tail -n+2 $file >> $TMP_FILE 18 echo -e "\n" >> $TMP_FILE 19done 20 21echo -e "FileFormat:Bluetooth\n\ 22 version=1.0\n\ 23\n\ 24ItemFormat:LE version=1.1" 25 26awk ' 27function rfchannel(freq) { return (freq-2)/2; } 28function rtrim(s) { sub(/[ \t\r\n]+$/, "", s); return s; } 29 30BEGIN{ 31FS=","; 32} 33{ 34Packet=$10; 35if ((NF != 10) || (length(Packet) == 0)) { next } # Corrupted line 36 37Mod=$5; 38Packet_size=$9; 39 40if ((Mod == 80) && (Packet_size > 4)) { # BLE Coded Phy - FEC2 part 41 if (CI=="00") { 42 CR=8; 43 } else { 44 CR=2; 45 } 46 printf("%.0f aa=%s rssi=%i rfchannel=%i phy=Coded coding=Coded%i rawdata=\"%s\"\n", TI, AA, RSSI, RF_CHANNEL, CR, rtrim(Packet)); 47 next 48} 49TI = $1 * 1000; 50RF_CHANNEL=rfchannel($3); 51AA=$4; 52RSSI=-40; 53if (length(Packet) >= 2) { 54 CI=substr(Packet, 1, 2); 55} 56if (Mod == 16){ 57printf("%.0f aa=%s rssi=%i rfchannel=%i phy=1Mbps rawdata=\"%s\"\n",TI,AA,RSSI, RF_CHANNEL, rtrim(Packet)); 58} 59if (Mod == 32 || Mod == 33){ 60printf("%.0f aa=%s rssi=%i rfchannel=%i phy=2Mbps rawdata=\"%s\"\n",TI,AA,RSSI, RF_CHANNEL, rtrim(Packet)); 61} 62}' $TMP_FILE | sort -g | awk '{print "Item time="$0}' 63 64 65 66#Examples of the importable format: 67#v1.0: 68#Item time=522186250 aa=0x8E89BED6 rssi=-58 rfchannel=12 rawdata="40 1E 60 B6 6E 2D A3 4A 02 01 06 02 0A 00 11 06 92 15 37 84 E8 CC 2C 86 31 44 4A C7 BD F4 74 7D 9E CD 7E" 69#v1.1: 70#Item time=15102072375 aa=0x1848870A rssi=-23 rfchannel=35 phy=1Mbps rawdata="09 00 38 A4 5B" 71#Item time=15351840875 aa=0x1848870A rssi=-37.5 rfchannel=3 phy=2Mbps rawdata="01 00 9E A9 5B" 72 73rm $TMP_FILE 74