This page presents some traces captured by the project/class NCE_Bus_Interface using begin(1). Basically this will show only the activity on the NCE Bus without any decoding.Initially there are two devices on the bus. Device 86 is the module making these readings. It is continually issuing the response 7D/7F when it is pinged.Device 91 is an NCE Throttle that is also on the bus and also responds to a ping to its address with 7D/7F. This basically says I'm here but I'm not requesting any actions.11:58:55.356 -> 80 81 82 86 '7D' '7F' 87 91 7D 7F 95 AA BF 11:58:55.403 -> 80 81 82 86 '7D' '7F' 87 91 7D 7F 95 AA 11:58:55.450 -> 80 81 82 86 '7D' '7F' 87 91 7D 7F 95 AA 11:58:55.497 -> 80 81 82 83 7E 7F D2 61 86 '7D' '7F' 87 91 7D 7F 95 AA 11:58:55.544 -> 80 81 82 83 7D 7F C0 CC CF C3 FA F5 F3 F1 F2 84 86 '7D' '7F' 87 91 7D 7F 95 AA 11:58:55.591 -> 80 81 82 83 7D 7F C2 D2 C5 D6 FA E0 F0 F0 F0 85 86 '7D' '7F' 87 91 7D 7F 95 AA 11:58:55.685 -> 80 81 82 83 7D 7F C3 E0 ED ED ED ED ED ED ED 86 '7D' '7F' 87 88 91 7D 7F 95 AA The NCE Controller does not ping every address however when it does ping address 83 it finds there is a response 7E/7F which is basically device 83 telling the controller that I want to join the busThe controller responds with the question D2 asking device (throttle) 83 what type of device it is. Device 83 responds with 61 or ASCII "a" a dumb terminal. (Note some interpretation is required in deciding if it's a read or write to device 83.)On each subsequent ping of address 83 the device will respond with 7D/7F I'm here but not requesting any action. Devices 83, 86 and 91 are now sending 7D/7F.Following receipt of 7D/7F the controller sends out 3 messages that would be displayed on the controller/throttle display.C0 CC CF C3 FA F5 F3 F1 F2. The C0 puts the message in the top row left. The remainder if the NCE ASCII for "LOC:5312". Note the controller remembers the last loco it was controlling is 5312. Otherwise, the display will default to LOC:0000C2 D2 C5 D6 FA E0 F0 F0 F0. The second message that starts in the second row (specified by the C2) in NCE ASCII is "REV: 000" indicating that the loco is currently in reverse but stationary.C3 E0 ED ED ED ED ED ED ED This message is in the second row but to the right (the C3). It is anticipating that there may be a request for a change in the loco address. " _______". (Press the numbers on the keyboard and this is where they will display)Note in parallel with all of this there could be broadcast message giving the time. These are displayed on the top row to the right.Requesting a speed increase.
Note the previous trace was obtained with begin(15) where device 86 is active - hence the 7D/7F responses. The following traces were taken using begin(1) to eliminate device 86 messages cluttering the screen. (7D/7F) are not the only messages - the controller will be continually updating device 86's display. Device 83 is continually sending 7D/7F to indicate it is on the bus.Operating the speed wheel will request a speed increment. 12:24:25.715 -> 80 81 82 83 7D 7F 86 87 91 7D 7F 95 A3 AA 12:24:25.762 -> 80 81 82 83 7D 7F 86 87 91 7D 7F 95 A4 AA 12:24:25.808 -> 80 81 82 83 4A 7F C2 C6 D7 C4 FA E0 F0 F0 F1 86 87 91 7D 7F 95 A5 AA 12:24:25.902 -> 80 81 82 83 4A 7F C2 C6 D7 C4 FA E0 F0 F0 F2 86 87 91 7D 7F 95 A6 AA 12:24:25.949 -> 80 81 82 83 7D 7F 86 87 91 7D 7F 95 A7 AA The bus activity becomes 83 4A 7F C2 C6 D7 C4 FA E0 F0 F0 F1 where the 7D is replaced with 4A to request one speed step. The return message from the controller becomes C2 C6 D7 C4 FA E0 F0 F0 F1 making the second row (set by C2) of the display "FWD: 001"The next row, C2 C6 D7 C4 FA E0 F0 F0 F2 is similar except that there is one more increment to the speed. ie "FWD: 002"Request a change in direction
12:32:30.427 -> 80 81 82 83 7D 7F 86 87 91 7D 7F 95 AA B1 12:32:30.474 -> 80 81 82 83 7D 7F 86 87 91 7D 7F 95 AA B2 12:32:30.567 -> 80 81 82 83 43 7F C2 D2 C5 D6 FA E0 F0 F0 F2 86 87 91 7D 7F 95 AA B3 12:32:30.614 -> 80 81 82 83 7D 7F 86 87 91 7D 7F 95 AA B4 12:32:30.661 -> 80 81 82 83 7D 7F 86 87 91 7D 7F 95 AA B5 The operation is similar to a speed change. The 7D/7F becomes 43/7F and the controller message C2 D2 C5 D6 FA E0 F0 F0 F2 in the second row left "REV: 002".12:35:30.154 -> 80 81 82 83 7D 7F 86 87 91 7D 7F 95 AA BB 12:35:30.248 -> 80 81 82 83 48 7F 86 87 91 7D 7F 95 AA BC 12:35:30.295 -> 80 81 82 83 7D 7F C0 CC CF C3 FA F5 F0 F7 F8 86 87 91 7D 7F 95 AA BD 12:35:30.341 -> 80 81 82 83 7D 7F C2 C5 CE D4 C5 D2 E0 CC CF 86 87 91 7D 7F 95 AA BE 12:35:30.388 -> 80 81 82 83 7D 7F C3 C3 CF FA E0 E0 E0 E0 E0 86 87 91 7D 7F 95 AA BF 12:35:30.435 -> 80 81 82 83 7D 7F C8 CC 86 87 91 7D 7F 95 AA 12:35:30.482 -> 80 81 82 83 7D 7F CF 86 87 91 7D 7F 95 AA 1To select a different loco the 7D/7F is replaced with 48/7F On the next cycle the NCE Controller responds with C0 CC CF C3 FA F5 F0 F7 F8 or on the top row (C0) the message "LOC: 5078" where 5078 is the current loco.The next row C2 C5 CE D4 C5 D2 E0 CC CF is the message "ENTER LO"The next message, C3 C3 CF FA E0 E0 E0 E0 E0 is displayed on the right of the second row (Determined by the first C3.) Converted to text it becomes "CO: _____" so the bottom line of the display reads "ENTER LOCO:_____" The last top lines contain cursor commands. C8 /CC will place the cursor under the first "_" and CF activate the cursor.The number "6" is first entered. The trace becomes:12:38:23.400 -> 80 81 82 83 7D 7F 86 87 8D 91 7D 7F 95 AA 12:38:23.446 -> 80 81 82 83 56 7F CA F6 86 87 8E 91 7D 7F 95 AA 12:38:23.493 -> 80 81 82 83 7D 7F 86 87 8F 91 7D 7F 95 AA 12:38:23.540 -> 80 81 82 83 7D 7F 86 87 90 91 7D 7F 95 AAIn the example 7D/7F is replaced with 56/7F.The controller responds with the combination CA/F6. CA is a cursor command and F6 print the number "6". The display will now become "ENTER LOCO:6____" The action for the "9" is similar to the "6"12:40:00.827 -> 80 81 82 83 7D 7F 84 86 87 91 7D 7F 95 AA 12:40:00.874 -> 80 81 82 83 59 7F CA F9 85 86 87 91 7D 7F 95 AA 12:40:00.921 -> 80 81 82 83 7D 7F 86 87 88 91 7D 7F 95 AA For the "9" the request is 59/7F and the response CA/F9. The display will now read "ENTER LOCO:69___" To terminate the request the Enter or return key is pressed.12:46:38.894 -> 80 81 82 83 7D 7F 86 87 91 7D 7F 93 95 AA 12:46:38.941 -> 80 81 82 83 40 7F 86 87 91 7D 7F 94 95 AA 12:46:38.988 -> 80 81 82 83 7D 7F CE 86 87 91 7D 7F 95 AA 12:46:39.035 -> 80 81 82 83 7D 7F CE 86 87 91 7D 7F 95 96 AA 12:46:39.082 -> 80 81 82 83 7D 7F C0 CC CF C3 FA E0 F0 F6 F9 86 87 91 7D 7F 95 97 AA 12:46:39.129 -> 80 81 82 83 7D 7F C2 C6 D7 C4 FA E0 F0 F0 F0 86 87 91 7D 7F 95 98 AA 12:46:39.176 -> 80 81 82 83 7D 7F C3 E0 ED ED ED ED ED ED ED 86 87 91 7D 7F 95 99 AA 12:46:39.269 -> 80 81 82 83 7D 7F 86 87 91 7D 7F 95 9A AA 7D/7F is now replaced with 40/7FThere will be no immediate response on the NCE_Bus. The NCE controller will be placing the commands as a DCC signal on the track.The following messages put the device 83 back into its initial display. The top row becoming CC CF C3 FA E0 F0 F6 F9 or "LOC: 069"The second message C2 C6 D7 C4 FA E0 F0 F0 F0 is "FWD: 000" The final message, C3 E0 ED ED ED ED ED ED ED is displayed lower right waiting for another elect loco request ie " _______"13:35:43.981 -> 80 81 82 83 7D 7F 86 87 8A 7D 7F 8B 91 7D 7F 95 AA AF 13:35:44.028 -> 80 81 82 83 4E 7F 86 87 8A 7D 7F 8B 91 7D 7F 95 AA B0 13:35:44.075 -> 80 81 82 83 7D 7F C0 C3 CF CE D4 D2 CF CC E0 86 87 8A 7D 7F 8B 91 7D 7F 95 AA B1 13:35:44.168 -> 80 81 82 83 7D 7F C2 C1 C3 C3 E0 CE D5 CD C2 86 87 8A 7D 7F 8B 91 7D 7F 95 AA B2 13:35:44.215 -> 80 81 82 83 7D 7F C3 C5 D2 FA E0 E0 F0 F1 F2 86 87 8A 7D 7F 8B 91 7D 7F 95 AA B3 13:35:44.262 -> 80 81 82 83 7D 7F 86 87 8A 7D 7F 8B 91 7D 7F 95 AA B4 13:35:44.356 -> 80 81 82 83 7D 7F C8 CC 86 87 8A 7D 7F 8B 91 7D 7F 95 AA B5 13:35:44.403 -> 80 81 82 83 7D 7F CF 86 87 8A 7D 7F 8B 91 7D 7F 95 AA B6 13:35:44.450 -> 80 81 82 83 7D 7F 86 87 8A 7D 7F 8B 91 7D 7F 95 AA B7 As shown to select an accessory the 7D/7F is replaced with 4E/7F The controller will then send a set of messages to device 83 For the top row of the display C0 C3 CF CE D4 D2 CF CC E0 or "CONTROL_"For the display bottom left C2 C1 C3 C3 E0 CE D5 CD C2 or "ACC_NUMB" For the display bottom right C3 C5 D2 FA E0 E0 F0 F1 F2 or "ER:--012" (The 012 probably came from previous experimentation) The sequence is the same number entry as before. The input 56/7F replaces 7D/7F for one cycle. (Sometime later 52/7F will be sent) 13:37:33.314 -> 80 81 82 83 7D 7F 86 87 8A 7D 7F 8B 91 7D 7F 95 AA B1 13:37:33.408 -> 80 81 82 83 56 7F 86 87 8A 7D 7F 8B 91 7D 7F 95 AA B2 13:37:33.455 -> 80 81 82 83 7D 7F C3 C5 D2 FA E0 E0 E0 E0 E0 86 87 8A 7D 7F 8B 91 7D 7F 95 AA B3 13:37:33.502 -> 80 81 82 83 7D 7F C8 CC 86 87 8A 7D 7F 8B 91 7D 7F 95 AA B4 13:37:33.595 -> 80 81 82 83 7D 7F CA F6 86 87 8A 7D 7F 8B 91 7D 7F 95 AA B5 13:37:33.642 -> 80 81 82 83 7D 7F 86 87 8A 7D 7F 8B 91 7D 7F 95 AA B6 13:37:33.689 -> 80 81 82 83 7D 7F 86 87 8A 7D 7F 8B 91 7D 7F 95 AA B7 13:37:33.783 -> 80 81 82 83 7D 7F 86 87 8A 7D 7F 8B 91 7D 7F 95 AA B8 One the next cycle there is the message C3 C5 D2 FA E0 E0 E0 E0 E0 for the second row right (The C3). The data C5 D2 FA E0 E0 E0 E0 E0 is NCE ASCII code for "ER:-----". The lower line of the display has become "ACC_NUMB:_____"The next line 8C/CC is a cursor position control.CA is a cursor control and F6 prints is the echo of the input request "6" The lower line of the display has become "ACC_NUMB:6____"When the second number is sent there is no need to build up the background display.13:50:56.736 -> 80 81 82 83 7D 7F 86 87 8A 8B 91 7D 7F 95 9B AA 13:50:56.783 -> 80 81 82 83 52 7F CA F2 86 87 8A 8B 91 7D 7F 95 9C AA 13:50:56.830 -> 80 81 82 83 7D 7F 86 87 8A 8B 91 7D 7F 95 9D AA As shown 52/7F replaces 7D/7F for one cycle and the NCE Controller sends the message CA/F2. That is the cursor control and number "2"The lower line of the display has become "ACC_NUMB:62___"The accessory number is terminated with 40/7F replacing 7D/7F113:51:54.801 -> 80 81 82 83 7D 7F 86 87 8A 8B 91 7D 7F 95 AA BE 13:51:54.864 -> 80 81 82 83 40 7F 86 87 8A 8B 91 7D 7F 95 AA BF 13:51:54.911 -> 80 81 82 83 7D 7F CE C0 C1 C3 C3 FA E0 F0 F6 F2 86 87 8A 8B 91 7D 7F 95 AA 13:51:54.958 -> 80 81 82 83 7D 7F C2 F1 FD CE E0 F2 FD D2 E0 86 87 8A 8B 91 7D 7F 95 AA 13:51:55.005 -> 80 81 82 83 7D 7F C3 CE CF D7 FD CE CF D2 CD 84 86 87 8A 8B 91 7D 7F 95 AA 13:51:55.286 -> 80 81 82 83 7D 7F 86 87 8A 8B 8C 91 7D 7F 95 AA 13:51:55.333 -> 80 81 82 83 7D 7F 86 87 8A 8B 8D 91 7D 7F 95 AA The response is CE C0 C1 C3 C3 FA E0 F0 F6 F2 where CE is a cursor control, C0 puts the message in the top row. The message is CE C0 C1 C3 C3 FA E0 F0 F6 F2 that translates to "ACC: 062"The next massage is C2 F1 FD CE E0 F2 FD D2 E0 which in the left of the second row (C2) is "1=N 2=R_ "The last part of the message is C3 CE CF D7 FD CE CF D2 CD which prints "NOW=NORM" on bottom right.Requesting Reverse (Turn)
The number "2" is sent. ie 52/7F replaces 7D/7F for one cycle13:55:52.765 -> 80 81 82 83 7D 7F 86 87 8A 8B 91 7D 7F 92 95 AA 13:55:52.812 -> 80 81 82 83 52 7F 86 87 8A 8B 91 7D 7F 93 95 AA 13:55:52.859 -> 80 81 82 83 7D 7F 86 87 8A 8B 91 7D 7F 94 95 AA 13:55:52.953 -> 80 81 82 83 7D 7F CE 86 87 8A 8B 91 7D 7F 95 AA 13:55:53.000 -> 80 81 82 83 7D 7F C0 CC CF C3 FA E0 F0 F9 F6 86 87 8A 8B 91 7D 7F 95 96 AA 13:55:53.046 -> 80 81 82 83 7D 7F C2 C6 D7 C4 FA E0 F0 F0 F0 86 87 8A 8B 91 7D 7F 95 97 AA 13:55:53.140 -> 80 81 82 83 7D 7F C3 E0 ED ED ED ED ED ED ED 86 87 8A 8B 91 7D 7F 95 98 AA 13:55:53.187 -> 80 81 82 83 7D 7F 86 87 8A 8B 91 7D 7F 95 99 AA 13:55:53.234 -> 80 81 82 83 7D 7F 86 87 8A 8B 91 7D 7F 95 9A AA That completes the request. Two cycles later the Controller sends out the default message. ie Loco number top row, Loco dirsction and speed second row plus underscores ready for numerical input to select a new loco. That is C0 CC CF C3 FA E0 F0 F9 F6 becomes in row one "LOC: 096" C2 C6 D7 C4 FA E0 F0 F0 F0 gives in row two "FWD: 000"C3 E0 ED ED ED ED ED ED ED completes the bottom row " _______"16:32:40.045 -> 80 81 82 83 7D 7F 86 87 8A 8B 91 7D 7F 93 95 9E A9 AA 16:32:40.138 -> 80 81 82 83 7D 7F 86 87 8A 8B 91 7D 7F 93 95 9E AA AB 16:32:40.185 -> 80 81 82 83 5C 7F 86 87 8A 8B 91 7D 7F 93 95 9E AA AC 16:32:40.279 -> 80 81 82 83 7D 7F C0 CC CF C3 FA F5 F1 F0 F6 86 87 8A 8B 91 7D 7F 93 95 9E AA AD 16:32:40.326 -> 80 81 82 83 7D 7F C2 CD C1 C3 D2 CF E0 CE D5 86 87 8A 8B 91 7D 7F 93 95 9E AA AE 16:32:40.420 -> 80 81 82 83 7D 7F C3 CD C2 C5 D2 FA E0 E0 E0 86 87 8A 8B 91 7D 7F 93 95 9E AA AF 16:32:40.466 -> 80 81 82 83 7D 7F C8 CD 86 87 8A 8B 91 7D 7F 93 95 9E AA B0 16:32:40.560 -> 80 81 82 83 7D 7F CF 86 87 8A 8B 91 7D 7F 93 95 9E AA B1 16:32:40.607 -> 80 81 82 83 7D 7F 86 87 8A 8B 91 7D 7F 93 95 9E AA B2 The macro request is 5C/7F. On the next cycle the NCE controller responds withC0 CC CF C3 FA F5 F1 F0 F6 which decodes to "LOC:5106" on the top row of the display. (This is the current loco)Row 2 is C2 CD C1 C3 D2 CF E0 CE D5 or "MACRO NU". The message is then completed on the next pass C3 CD C2 C5 D2 FA E0 E0 E0 or " MBER:___"The remaining information C8/CD and CF will set the cursor to the first "_" position and enable the display ready for keyboard ready for numeric entries.ONE16:35:34.021 -> 80 81 82 83 7D 7F 86 87 8A 8B 91 7D 7F 93 95 9E A8 AA 16:35:34.068 -> 80 81 82 83 51 7F CA F1 86 87 8A 8B 91 7D 7F 93 95 9E A9 AA 16:35:34.162 -> 80 81 82 83 7D 7F 86 87 8A 8B 91 7D 7F 93 95 9E AA AB EIGHT16:37:07.807 -> 80 81 82 83 7D 7F 86 87 89 8A 8B 91 7D 7F 93 95 9E AA 16:37:07.901 -> 80 81 82 83 58 7F CA F8 86 87 8A 8B 8C 91 7D 7F 93 95 9E AA 16:37:07.947 -> 80 81 82 83 7D 7F 86 87 8A 8B 8D 91 7D 7F 93 95 9E AA FOUR16:38:07.591 -> 80 81 82 83 7D 7F 86 87 8A 8B 91 7D 7F 93 95 9E AA AB 16:38:07.638 -> 80 81 82 83 54 7F CA F4 86 87 8A 8B 91 7D 7F 93 95 9E AA AC 16:38:07.731 -> 80 81 82 83 7D 7F 86 87 8A 8B 91 7D 7F 93 95 9E AA AD Entering the numbers 184 is a one pass activity for each.Device 83 sends 51/7F instead of 7D/7F and the Controller responds with CA/F1 that overwrites on the display the first "_" with "1"After the "8" and "4" are sent the bottom row of the display reads "MACRO NUMBER:184"To terminate the entry the enter key is pressed. The response will be:16:40:16.176 -> 80 81 82 83 7D 7F 86 87 8A 8B 91 7D 7F 93 95 9A 9E AA 16:40:16.223 -> 80 81 82 83 40 7F 86 87 8A 8B 91 7D 7F 93 95 9B 9E AA 16:40:16.317 -> 80 81 82 83 7D 7F CE 86 87 8A 8B 91 7D 7F 93 95 9C 9E AA 16:40:16.364 -> 80 81 82 83 7D 7F CE 86 87 8A 8B 91 7D 7F 93 95 9D 9E AA 16:40:16.411 -> 80 81 82 83 7D 7F 86 87 8A 8B 91 7D 7F 93 95 9E 9F AA 16:40:16.505 -> 80 81 82 83 7D 7F CE 86 87 8A 8B 91 7D 7F 93 95 9E A0 AA 16:40:16.551 -> 80 81 82 83 7D 7F C0 CC CF C3 FA F5 F1 F0 F6 86 87 8A 8B 91 7D 7F 93 95 9E A1 AA 16:40:16.645 -> 80 81 82 83 7D 7F C2 C6 D7 C4 FA E0 F0 F0 F0 86 87 8A 8B 91 7D 7F 93 95 9E A2 AA 16:40:16.739 -> 80 81 82 83 7D 7F C3 E0 ED ED ED ED ED ED ED 86 87 8A 8B 91 7D 7F 93 95 9E A3 AA 16:40:16.786 -> 80 81 82 83 7D 7F 86 87 8A 8B 91 7D 7F 93 95 9E A4 AA 40/7F will complete the request. The Controller will place the request onto the DCC tracks.The controller will then return the display to its default state. That is C0 CC CF C3 FA E0 F0 F9 F6 becomes in row one "LOC: 096" C2 C6 D7 C4 FA E0 F0 F0 F0 gives in row two "FWD: 000"C3 E0 ED ED ED ED ED ED ED completes the bottom row " _______"Footnote: Broadcast Activity
In taking these traces sometimes additional lines were captured. For example:
16:35:33.928 -> 80 C1 E0 F0 F8 FA F3 F5 C1 CD 81 82 83 7D 7F 86 87 8A 8B 91 7D 7F 93 95 9E A7 AA In this case its a broadcast address (80) with the message C1 E0 F0 F8 FA F3 F5 C1 CD. C1 says the message is for the top row at the right and it's the real time clock. That is " 08:35AM" This line also shows devices 83 and 91 advising that they are on the bus but not requesting any service (7D/7F). In fact device 91 just lay on the bench all the time these observations were made