Page 1 of 1
Feature request for RMIR (an will require an RDF change)
Posted: Tue Feb 24, 2015 1:01 am
by unclemiltie
I'd like to have a way to have a pull down with a list of options that will then load a specific hex byte or bytes into one or more spots in memory. I think I asked this before when I want ed to have optional blinking behavior on the shift buttons in the extenders (i.e. blink, turn on until shift clears, nothing) but also wanted to do some other stuff as well.
Ideally it would have an address, a number of bytes and a numerated list of options to put in the UI and the bytes to put in those spots
for example:
$ 1234 = {on: 7B 02; Off: FF FF}
Selecting On would store $7B at $1234 and $02 at $1235
$0850 = {Blink: 45 32; On: 45 3D; None: 45 32}
Selecting Blink would store $45 $32 at $0850/851
the UI would show "On" and "Off" or "Blink, On, None"
Similar would be a way to have the shift key not be a hex value but a list of keys from the key list in the pick list.
Thoughts?
Posted: Tue Feb 24, 2015 9:39 am
by mathdon
You've caught me at a good time

. Done, though needs more testing. Will be in next build. I've done it as an extension of [Settings], so it will appear in the Settings table with an RDF [Settings] entry like
Code: Select all
UncleMiltieTest=$0031.0.0.0.0 ( Aa:$12 $34; Bb:$56 $78 )
The dot-separated values are ByteAddr, BitNo, NumBits, InitValue, Inverted. ByteAddr is the address, BitNo is ignored, NumBits must be 0 (this indicates the new syntax), InitValue is the index in the list of the initial value, and Inverted is ignored.
Posted: Tue Feb 24, 2015 10:02 am
by unclemiltie
That was fast!
Is the byte list an arbitrary length or is it fixed at 2 bytes. Right now it doesn't matter given what I'm trying to do but it would be great if it were arbitrary.
Guess I need to go fetch (when ready) and see if this works for me.
Thanks
Posted: Tue Feb 24, 2015 10:46 am
by mathdon
The byte length is arbitrary, and indeed need not even be the same for all the alternatives in a single setting.
Posted: Tue Feb 24, 2015 2:18 pm
by unclemiltie
for clarification: Does the index start at zero or one?
Posted: Tue Feb 24, 2015 4:41 pm
by mathdon
Zero.
Posted: Wed Feb 25, 2015 12:42 pm
by mathdon
For further clarification, since IR.exe would cry foul at such an entry, I have made RMIR accept multiple [Settings] sections, which are treated as concatenated, and treat [Settings+] as an equivalent name. So you can keep the existing [Settings] section and add a new [Settings+] section with any new entries, so making IR.exe ignore the new entries.
The next build will also include a revised addendum to the RDF Spec that documents this new addition. You will find it in the Docs subfolder of the installation folder.
Posted: Thu Feb 26, 2015 10:29 am
by mathdon
This feature, and the revised RDF Spec Addendum, is now in
RMIR v2.03 Alpha 28 build 13. Please test it and let me know if it meets your needs.
Testing build 13
Posted: Thu Feb 26, 2015 1:27 pm
by Thomas
Hi Graham,
I downloaded build 13 and have used it with my RCRP05B and RS15-100. Nothing broken as far as I have found. Eventually going to purchase another remote as we are upgrading some hardware and will be able to test a little more extensively.
Tom
Posted: Thu Feb 26, 2015 8:34 pm
by unclemiltie
Doesn't seem to work for me...
About says RemoteMaster v2.03 Alpha 28 build 13
MacOS X Yosemite
This is what my RDF says:
Code: Select all
[Settings+]
Interruptable_Pause =$08EF.0.0.0.0 (Enabled: $7B $02; Disabled: $FF $FF)
The element shows up in the settings pane, I can select the enable or disable but the data in the raw data tab doesn't seem to change
Posted: Fri Feb 27, 2015 7:18 am
by mathdon
unclemiltie wrote:The element shows up in the settings pane, I can select the enable or disable but the data in the raw data tab doesn't seem to change
I suspect that something is overwriting the same bytes. Remember that RMIR parses the setup data and then reconstructs it from the parsed data. This complete reconstruction is repeated when
anything is changed. The Settings data is written before almost everything else, so macros, keymoves, etc. and device and protocol upgrades would all overwrite settings data if they wrote to the same bytes.
Normally there is no overlap in the bytes written to by these various sets of data but I suspect you are trying to modify the data written by one of them. Could you explain in more detail what you are trying to achieve, and post a .rmir file that I can test it with?
Posted: Fri Feb 27, 2015 9:06 am
by unclemiltie
For the LED behavior in the extender what I am doing is patching in the address of a subroutine the remote to change the behavior from "LED on after shift" to "NO LED after shift" to "blink after shift"
The extender has a CALL into the ROM to do this and the selection will change the address that the CALL goes to.
I don't think there is anything that would be overwriting this since the extender code isn't touched anywhere else
(Same goes for the interruptible pause)
I can send you an RMIR file as well as a RDF so you can test. PM me your email, I don't seem to have it anymore.
Posted: Sat Feb 28, 2015 8:13 am
by mathdon
unclemiltie wrote:The element shows up in the settings pane, I can select the enable or disable but the data in the raw data tab doesn't seem to change
Bill, thanks for the actual files. The solution is simple. Like all addresses in an RDF, they are relative to the start of the E2 area, so $08EF should be $02EF etc. With this change, it all works.
Posted: Sat Feb 28, 2015 11:44 am
by unclemiltie
Grrrr.
I thought about that while I was driving the other day and then promptly forgot about it.
Thanks