I'm finally on my way getting this remote setup (thanks again for all the help on my earlier topic)!! A few more questions....
Question 1: On the Buttons tab of KM, there are some entries in the "Button" column that have a @ in front of the cell contents (e.g. @ enter). If it were a key move, wouldn't the @ show up in the "Function" column? Also, if I go to the Keymoves Tab, no keymoves show up. And yet, when I paste it into IR, they show up as keymoves. What does the @ mean in the Function column?
Question 2: This remote has very little memory and I need to keep it below 50 bytes. It appears that the numeral buttons (0 - 9) use up much more memory that the others. If I delete the function associated with those buttons I gain a little bit of memory, but if I later try to reassign the original function, it uses up 20 bytes (about 10 button assignments). Why is this?
Question 3: When I have more than 1 question, should I post each one separately?
Thanks!
Tom
Questions using KM with 15-1995
Moderator: Moderators
Re: Questions using KM with 15-1995
It's a button that would require a KeyMove if used in the current device mode. You are informed of that fact whether or no you actually supply a function. Of course, if you don't supply a function it won't create the KeyMove.tbsmith wrote: Question 1: On the Buttons tab of KM, there are some entries in the "Button" column that have a @ in front of the cell contents (e.g. @ enter). If it were a key move, wouldn't the @ show up in the "Function" column?
Those are for KeyMoves that exist for a different reason (under your direct control).tbsmith wrote: Also, if I go to the Keymoves Tab, no keymoves show up.
That's all keymoves associated with the upgrade regardless of reason.tbsmith wrote: And yet, when I paste it into IR, they show up as keymoves.
I don't know.tbsmith wrote:What does the @ mean in the Function column?
Digits are all-or-nothing. If you define one digit you get all digits. If that doesn't match a built-in digit table then it is a big chunk in the upgrade.tbsmith wrote: It appears that the numeral buttons (0 - 9) use up much more memory that the others. If I delete the function associated with those buttons I gain a little bit of memory, but if I later try to reassign the original function, it uses up 20 bytes (about 10 button assignments). Why is this?
-
Mark Pierson
- Expert
- Posts: 3018
- Joined: Sun Aug 03, 2003 12:13 am
- Location: Connecticut, USA
- Contact:
Re: Questions using KM with 15-1995
Did you mean to say the Buttons column?tbsmith wrote:What does the @ mean in the Function column?
The "@" is just used as an indicator the the particular button is not part of the default key map, and will create a key move if a function is assigned to it. These key moves are combined in with the device upgrade code when pasted into IR.
The Key Moves sheet is used to create searate key moves based on the current upgrade, which can be bound to devices other than the current upgrade. On the Setup sheet, there is a Key Move Code block where these get copied from. To paste them into IR, you use the [Import] button on the Key Moves tab.
Mark
-
Mark Pierson
- Expert
- Posts: 3018
- Joined: Sun Aug 03, 2003 12:13 am
- Location: Connecticut, USA
- Contact:
-
Mark Pierson
- Expert
- Posts: 3018
- Joined: Sun Aug 03, 2003 12:13 am
- Location: Connecticut, USA
- Contact:
Re: Questions using KM with 15-1995
The number keys are grouped together as one entity... think of them as a "set" (the same is true of <VOL+, VOL-, MUTE> and <CHAN+, CHAN->). If a code is assigned to just one of them, all 10 require a code, even if it's a dummy code (when this happens in KM, they're padded with $00's). From your description above, it sounds like you're using a 2-byte protocol, which would indeed consume 20 bytes for the number keys.tbsmith wrote:Question 2: This remote has very little memory and I need to keep it below 50 bytes. It appears that the numeral buttons (0 - 9) use up much more memory that the others. If I delete the function associated with those buttons I gain a little bit of memory, but if I later try to reassign the original function, it uses up 20 bytes (about 10 button assignments). Why is this?
Many 1-bytes setup codes (including upgrades) can use what we call the "number table" or "digit map". This is a built-in list of codes for the 10 number keys. In KM, if you've ever seen the message "DigitMap Enabled" in cell C7, then the upgrade is using a built-in set of codes, thereby saving 10 bytes in the upgrade itself.
Unfotunately, with the 740 processor's 50-byte limitation, an upgrade using 2-byte commands consumes 40% of that just on the number keys. After you add that to the normal overhead (anywhere from 4 to 10 or more bytes), and you really don't have much left for other functions.
There are a few ways around the limitation, though they can lead to other memory space and/or ease-of-use problems. First, you can use key moves, which reside in another area of EEPROM. But at 5 or 6 bytes each, they add up quick, considering the typical JP1 remote can store approximately 35-40. Another option is multiple upgrades, but then you're using more than 1 device button, unless you use a device toggler or device multiplexor protocol.
Mark