openETCS / dataDictionary

This repository is the container for the openETCS data dictionary
6 stars 7 forks source link

Verification of Bitwalker #31

Open MarcBehrens opened 9 years ago

MarcBehrens commented 9 years ago

@jensgerlach I took a look at the bitwalker and was able to compile it. For further validation, could you please code/ decode the following telegram:

Variable Value
Q_UPDOWN 1
M_VERSION 32
Q_MEDIA 0
N_PIG 1
N_TOTAL 1
M_DUP 0
M_MCOUNT 0
NID_C 64
NID_BG 3
Q_LINK 1
NID_PACKET 255
Variable Value
Q_UPDOWN 1
M_VERSION 32
Q_MEDIA 0
N_PIG 0
N_TOTAL 1
M_DUP 0
M_MCOUNT 0
NID_C 64
NID_BG 3
Q_LINK 1
NID_PACKET 42
Q_DIR 1
L_PACKET 113
Q_RBC 1
NID_C 352
NID_RBC 1515
NID_RADIO 14.185.023.402.016.767
Q_SLEEPSESSION 0
NID_PACKET 3
Q_DIR 1
L_PACKET 230
Q_SCALE 1
D_VALIDNV 0
NID_C 0
N_ITER 0
V_NVSHUNT 6
V_NVSTFF 8
V_NVONSIGHT 6
V_NVLIMSUPERV 20
V_NVUNFIT 20
V_NVREL 8
D_NVROLL 2
Q_NVSBTSMPERM 1
Q_NVEMRRLS 0
Q_NVGUIPERM 0
Q_NVSBFBPERM 0
Q_NVINHSMICPERM 0
V_NVALLOWOVTRP 0
V_NVSUPOVTRP 6
D_NVOVTRP 200
T_NVOVTRP 60
D_NVPOTRP 200
M_NVCONTACT 10
T_NVCONTACT 255
M_NVDERUN 1
D_NVSTFF 32767
Q_NVDRIVER_ADHES 0
A_NVMAXREDADH1 20
A_NVMAXREDADH2 14
A_NVMAXREDADH3 14
Q_NVLOCACC 12
M_NVAVADH 1
M_NVEBCL 1
Q_NVKINT 0
NID_PACKET 41
Q_DIR 1
L_PACKET 63
Q_SCALE 1
D_LEVELTR 300
M_LEVELTR 3
L_ACKLEVELTR 100
N_ITER 0
NID_PACKET 255
Variable Value
NID_MESSAGE 129
L_MESSAGE 36
T_TRAIN 0
NID_ENGINE 0
NID_PACKET 0
L_PACKET 114
Q_SCALE 01
NID_LRBG 0
D_LRBG 0
Q_DIRLRBG 01
Q_DLRBG 01
L_DOUBTOVER 0
L_DOUBTUNDER 0
Q_LENGTH 00
V_TRAIN 0
Q_DIRTRAIN 01
M_MODE 6
M_LEVEL 000
NID_PACKET 11
L_PACKET 96
NC_CDTRAIN 0
NC_TRAIN 0
L_TRAIN 0
V_MAXTRAIN 0
M_LOADINGGAUGE 1
M_AXLELOADCAT 0
M_AIRTIGHT 00
N_AXLE 0
N_ITER 0
N_ITER 0

all values are decimal integer.

MarcBehrens commented 9 years ago

Updated 3 different messages for verification reasons.

MarcBehrens commented 9 years ago

I took a look at your new code 6e2edf8efd8458e0ed2f71c5489cc16b1c9a66a2 :

Verification Step 1: Balise:

your output: 01010000 00001001 00000000 00000100 00000000 00000000 11111111 11100000

output as it should be: 1010 0000 0001 0010 0000 0000 0000 1000 0000 0000 0000 0000 1111 1111 1100 0000

verdict: HEADER: your output has an absolute offset of 1 bit PACKET: your output of the new packet 255 has a relative offset of 1 bit

jensgerlach commented 9 years ago

How did you produce the output?

jensgerlach commented 9 years ago

Actually, my output (see pending pull request) reads

print from positions 73 to 131 1010 0000 0001 0010 0000 0000 0000 1000 0000 0000 0000 0001 1111 1111 11

These are 58 bits (50 for the telegram header and 8 for package 255). Why do you print 64 bits?

MarcBehrens commented 9 years ago

I can confirm that we have got the same output for 'your output:'.

Still the two deviations remain.

64 bit lenth of debug output was just filling up the last byte to display hex values.

jensgerlach commented 9 years ago

print from position 0 to 58 1010 0000 0001 0010 0000 0000 0000 1000 0000 0000 0000 0001 1111 1111 11