Author Topic: QSI Titan Q2 programming.  (Read 1566 times)

0 Members and 1 Guest are viewing this topic.

nscaler711

  • Crew
  • *
  • Posts: 926
  • Respect: +271
QSI Titan Q2 programming.
« on: January 10, 2021, 04:05:46 PM »
0
So I found out that a LGB Genesis I just purchased came with a QSI board in it, it looks to be a Quantum 2 version.
But none of the sounds are right, and well Indexed CVs are above my pay grade.
I'd like to get this figured out but I have came up with some very confusing results...
It seems like it's similar to CVs17 and 18 for programming long addresses, but more difficult I guess?

CV                Value
117.0.1          30
117.8.1           1
117.10.1        15
117.16.1         7
117.26.1         1
117.28.1         1
117.40.1        14

peteski

  • Crew
  • *
  • Posts: 35222
  • Gender: Male
  • Honorary Resident Curmudgeon
  • Respect: +6619
    • Coming (not so) soon...
Re: QSI Titan Q2 programming.
« Reply #1 on: January 11, 2021, 01:47:00 AM »
+2
What you have there is not anything like DCC extended address.  Extended address is just 2 "regular" CVs where each CV holds part of the binary number which represents a long address, because the range of the long addresses address does not fit into a single byte (8 bits) that a single CV can hold.

What you have here is indexed CV access.  ESU uses a similar system which allows the decoder to have thousands of CVs (much more than what the basic CV range can be).

In the examples you show (like CV117.8.1) QSI actually uses primary and secondary indexes (it is like a 2-dimensional array or CVs).  But I suspect you don't care about the nuts and bolts - you just want an easy way to program what you need.

Best way would be to get a hold of a Quantum Programmer. It is a dedicated piece of hardware and a software that (lust like the ESU LokProgrammer hardware and software) makes all the complicated double-indexed programming simple.

If that is not feasible, you can still do this, preferably in service mode (programming on programming track).  But it is cumbersome.

So how to program that CV117.8.1?  You actually need to program 3 CVs to do this.  It is done in a different order than the CV address is presented.
You first have to program the primary and secondary index registers, then write the value you want to the leftmost CV number.

Continuing with the example:
Write "8" to CV49 (the primary index)
Write "1" to CV50 (the secondary index)
Finally write the value you want to use into the indexed CV117 (for example value of 17 for "Diesel Bell, Air, Very Fast").

The values for CV49 and 50 are retained during programming, so if another indexed CV write has one of the index CVs the same value as the previous write, you don't have to program that CV with the same value.  But it won't hurt to do it either.

The same process is used for reading indexed CVs.  To read CV117.8.1 you write "8" to CV49, "1" to CV50, then read CV117.  From the above example, you should see the value of CV117 as "16".

I hope that clarifies things for you.  There is documentation for Titan available at https://shedaker.wixsite.com/shedaker/titan-ho-documents
I recommend reading  "Using and Understanding Indexed CVs", and the full manual is also available (phone-book size, 468 pages!).  See "Complete DCC Reference Manual for All QSI Decoders  v5.2.0 full manual".

If you read those CVs properly, then going by the charts you provided they are:
CV                Value
117.0.1          30 Nathan K5LA (Amtrak)
117.8.1           1 Native Bell
117.10.1        15 GE FDL-16
117.16.1         7 GE Standard Pump
117.26.1         1 Native Cooling Fans
117.28.1         1 Native Dynamic Brake
117.40.1        14 Nathan K5LA (Low Pressure)
« Last Edit: January 11, 2021, 02:49:26 AM by peteski »
. . . 42 . . .

MK

  • Crew
  • *
  • Posts: 4341
  • Respect: +947
Re: QSI Titan Q2 programming.
« Reply #2 on: January 11, 2021, 08:59:32 AM »
0
One word:  Damn!   :o

nscaler711

  • Crew
  • *
  • Posts: 926
  • Respect: +271
Re: QSI Titan Q2 programming.
« Reply #3 on: January 11, 2021, 10:29:54 AM »
0
@peteski
Ok I think, I understand a bit.
So I guess since 49 and 50 hold their values,
It would look like this for 117.0.1

CV 49 would = 0 and CV = 30

Right?

It is rather confusing as I'm not super into programming decoders like that.
Honestly it was starting to look like I may have to go to a different route like TCS Wow sound, which I have in a USA Trains GP38-2, which was far easier to program the sounds for... They just have a menu as FX8 that you press multiple times.

Mike C

  • Crew
  • *
  • Posts: 1095
  • Gender: Male
  • Respect: +171
Re: QSI Titan Q2 programming.
« Reply #4 on: January 11, 2021, 05:00:47 PM »
+1
 What would be better would be to download JMRI it will solve all your problmes

peteski

  • Crew
  • *
  • Posts: 35222
  • Gender: Male
  • Honorary Resident Curmudgeon
  • Respect: +6619
    • Coming (not so) soon...
Re: QSI Titan Q2 programming.
« Reply #5 on: January 11, 2021, 05:02:09 PM »
0
One word:  Damn!   :o

Not that complicated - think of it as extended addressing of CVs.  ESU does that but only with single index CV. QSI just adds a secondary index (and not for all indexed CVs, just for some).  Some CVs have only primary index (same as ESU), whole some have double index.
. . . 42 . . .

peteski

  • Crew
  • *
  • Posts: 35222
  • Gender: Male
  • Honorary Resident Curmudgeon
  • Respect: +6619
    • Coming (not so) soon...
Re: QSI Titan Q2 programming.
« Reply #6 on: January 11, 2021, 05:03:05 PM »
0
What would be better would be to download JMRI it will solve all your problmes

Yes, JMRI handles all the indexed registers for you. Forgot to mention it.
. . . 42 . . .

Mike C

  • Crew
  • *
  • Posts: 1095
  • Gender: Male
  • Respect: +171
Re: QSI Titan Q2 programming.
« Reply #7 on: January 11, 2021, 05:10:11 PM »
0
 Thanks Pete !

peteski

  • Crew
  • *
  • Posts: 35222
  • Gender: Male
  • Honorary Resident Curmudgeon
  • Respect: +6619
    • Coming (not so) soon...
Re: QSI Titan Q2 programming.
« Reply #8 on: January 11, 2021, 05:27:41 PM »
+1
@peteski
Ok I think, I understand a bit.
So I guess since 49 and 50 hold their values,
It would look like this for 117.0.1

CV 49 would = 0 and CV = 30

Right?

It is rather confusing as I'm not super into programming decoders like that.
Honestly it was starting to look like I may have to go to a different route like TCS Wow sound, which I have in a USA Trains GP38-2, which was far easier to program the sounds for... They just have a menu as FX8 that you press multiple times.

And I thought I explained it well.  :|  I'm not  sure if I understand what "CV = 30" means.
In order to write to CV117.0.1 you first set (write) CV49=0, then CV50=1, then finally you write whatever value is to be written to CV117.0.1 into CV117.
If the CV49 and CV50 are to be the same values from your previous indexed CV write operation, then there is no need to set them again (as they retain their last written values). But if it is clearer to you to write to all of the CVS, then do it that way.

AN example of reusing CV49 and 50.
Lets say you need to write 30 to CV117.0.1. So, you write 0 to CV49, then 1 to CV50, then finally 30 to CV117.  You can then also read CV117 and that will show you what is in CV117.0.1. No need to write to CV49 or 50 as they will still hold their values (which are the indexes).

Next you need to write 1 to CV117.8.1.  You have to write 8 to CV49, and since CV50 already has 1 in it (from last operation), you can skip it. Lastly you write 1 to CV117. That "CV117.8.1" is a different CV than "CV117.0.1".

Same continues for the other CVs.  Next you want to write 15 into CV117.10.1.  CV49 has an 8 in if from the last operation, so you havet to write 10 into CV49.  Since CV50 still has a 1 from last operations, leave that one alone. Then write 15 into CV117. Or read CV117 (which will show the contents of CV117.10.1.

Does this make it any clearer?  Once you grasp the concept, it will seem simple.  Maybe that document about understanding QSI indexed CVs I pointed you to earlier, will give you a better explanation?
. . . 42 . . .

nscaler711

  • Crew
  • *
  • Posts: 926
  • Respect: +271
Re: QSI Titan Q2 programming.
« Reply #9 on: January 11, 2021, 06:24:54 PM »
0
@peteski
Ah sorry! Cv50 = 30 got ahead of what I was typing.

Ok so that seems alot more simple, it's not that you didn't explain it well, I am just confused easily I suppose.
I guess I am used to the thought that when writing CVs the value changes when you enter a new value.
I guess these indexed CVs retain information they have been given.

peteski

  • Crew
  • *
  • Posts: 35222
  • Gender: Male
  • Honorary Resident Curmudgeon
  • Respect: +6619
    • Coming (not so) soon...
Re: QSI Titan Q2 programming.
« Reply #10 on: January 11, 2021, 06:45:01 PM »
0
@peteski
Ah sorry! Cv50 = 30 got ahead of what I was typing.

Ok so that seems alot more simple, it's not that you didn't explain it well, I am just confused easily I suppose.
I guess I am used to the thought that when writing CVs the value changes when you enter a new value.
I guess these indexed CVs retain information they have been given.

CV49 and 50 are just like regular CVs which can be written or read from, but their only purpose is to provide indexing (or pointers) for the indexed CVs (like CV117). That is why you stage them first, before writing the actual value you need to set in CV117.   CV117 is not a single CV, but just a gateway for writing to multiple CVs that exist under CV117.  The entire "117.0.1" is the address if the CV you are writing for. But the way you get to that address is a bit awkward to deal with.
. . . 42 . . .