geewiz
Member
Member
Posts: 84
Joined: Wed Feb 04, 2004 8:16 am
Contact: Send private message

Am I the only one using GenericSerial plugin???

Fri Oct 29, 2004 8:06 pm

Sorry to raise the attention, but I find it weird that a major bug so easy to fix still remains outstanding 6 months after releasing this plugin. The end-of-line character code is still not being saved on exit and it's a major pain to have to remember to always re-enter the code after every re-launch.
The issue is also that there's a major memory leak with MLServer which I'm starting to point to this plugin as well, so I have to shutdown MLS every 4 days (it builds up to 200Mb of memory usage in 4 days!).

Daniel, any chance you'll get this fixed anytime soon (at least the save part, and perhaps look into the memory leak)? I have a loop running in the Startup plugin which sends a string through the RS232 port every 2 seconds to poll a device. The device returns a character which is then checked against a mapped command (I'm polling for the status of the doorbell and zones). When I remove the "MLGenericSerial send" command from the loop, I have no memory leak, when I put it back in, it starts leaking.

Thanks.

pendlet
Senior Member
Senior Member
Posts: 172
Joined: Thu Jun 26, 2003 3:11 am
Location: Maryland
Contact: Send private message Yahoo Messenger AOL

Mon Nov 01, 2004 5:45 pm

I also have complained numerous times about this very problem and yet still see no fix. I hoped this could be fixed with out having to wait for a new release. It’s just a simple thing. If I knew where in the code to edit what the default was I would just change it there.

Please fixs this.

Tim

geewiz
Member
Member
Posts: 84
Joined: Wed Feb 04, 2004 8:16 am
Contact: Send private message

Thu Nov 11, 2004 7:46 pm

Interesting that Daniel has completely refused to address this problem in the past 6 months. I understand this must be a "boring" problem to fix compared to writing new exiting features, but I'm losing faith in the support of the Cinemar products fast and I don't see how such a major problem in a plugin can remain unfixed for 6 months without a single reply from the coder.

If Cinemar abandoned support for this plugin, can you at least make the source code publicly available so we can pay someone to fix it?

Daniel or Mario??

mcascio

Thu Nov 11, 2004 7:49 pm

Dan is working on an update to the genericserial plugin:
http://www.cinemaronlineforums.com/foru ... highlight=

geewiz
Member
Member
Posts: 84
Joined: Wed Feb 04, 2004 8:16 am
Contact: Send private message

Fri Nov 12, 2004 7:24 am

Thanks Mario for the update. Just knowing Daniel is at least working on it is all I needed.

pendlet
Senior Member
Senior Member
Posts: 172
Joined: Thu Jun 26, 2003 3:11 am
Location: Maryland
Contact: Send private message Yahoo Messenger AOL

Tue Dec 21, 2004 12:48 am

Any word on the status of this fix? Is there was a time line or some new info?

Tim

mcascio

Thu Mar 24, 2005 1:38 pm

There's a revised MLGenericSerial available online:
http://www.cinemaronline.com/mlserver.html

This plug-in allows 2-way communication via ASCII or HEX with multiple serial-based equipment. It also supports the ability to react to received events with MLServer commands.

To Install

1. STOP MLServer
2. If you have the old MLGenericSerial.DLL file then unregister it (RegSvr32 MLGenericSerial.dll /u)
3. Copy/Overwrite the MLGenericSerial.dll to your MLServer\Plugin folder
4. Register MLGenericSerial.dll (RegSvr32 MLGenericSerial.dll)
5. Copy the GenericSerial.XML file to you MLServer\Data folder

Start up MLServer and do settings on MLGeneric serial. It is important to verify if the new
system kept all the information from the old MLGenericSerial. System no longer uses the serial_mapping.mdb
file but instead will create a MyConfig.XML file in the data folder.

Any comments or requests can be sent to lior_amar@hotmail.com

Current Revision: RC1.A
- To be tested: Multiple devices
- To be tested: Complicated and large HEX protocol. This would be more about testing my saving and loading of
binary data from XML files. Involves a lot of Base64 encode/decode.
- To be tested: Learn Command in the Commands popup. I wanted to give you guys the capability of teaching the
plugin new commands. This means as a user you can have it listen to the output from the hardware and create the
signature of your command.
- To be Coded: Haven't yet coded the COMMAND testing. I will do that soon and send over a new version. Shouldn't
have any effect on the actual pluggin


Protocol Definition

The MLGenericSerial plugin only has one command it understands, SEND. It can take up to 2 paramaters

Parameter 1 => Command to send to the SerialPort
Parameter 2 => DeviceName or Number (same as tabs **tab1 = 1, tab2 = 2) to send the command to

Eg: MLGenericSerial|Send~Start~Device4
This command will send "Start" to the 4th device
This command can also be represented like so
** MLGenericSerial|Send~Start~4



Additional Info:

The plugin will create a log file (same folder as the dll file) that will contain additional information
that might be useful during debugging. An example of such information is with the learn command. The learn
command will listen to the port and just append whatever is being sent to it by the hardware. It will in
, in the background, log every value and ascii of each character received. This will allow you to figure
out the protocol of whatever it is you're trying to learn.

User avatar
jrfuda
Expert
Expert
Posts: 946
Joined: Mon Oct 06, 2003 6:59 pm
Location: San Antonio, TX, USA
Contact: Send private message AOL

Thu Mar 24, 2005 4:05 pm

Mario, so far this works better than the old version.

Using this with my Yamaha DSPAX1 (RXV1) I am able to receive all status changes from the receiver.

The "learn" button appears to work. When I push the learn button in "map commands", the command appears as it should per the Yamaha protocol (although it always has a thick | preceding and following it).

The Yamaha sends it's data in a 6-digit format. In the "Incoming Data" window of the plugin, the 6-digits are always wrapped by a "?", whereas, in the "learn" box they are wrapped by the thick "|". Also, in the "Incoming Data" window, the command is often broken-up into 2 or 3 pieces, so the command that would normally appear as:

?102825? - Last Char = 3

appears, instead as:

?1028 - Last Char = 56
25? - Last Char = 3

In the "Learn" window, this same command appears as:
|102825|

I understand that the test option does not work yet, but I cannot get anything I've mapped to the commands to launch the MLServeCmd I've put in the map (which are all setvariable commands). Is this not "turned-on" yet too?

Finally, I still cannot get the receiver to respond to any commands I send via RS232. However, since I have highly reliable IR control of the receiver via HomeSeer, getting the receive-end of the plugin working is all I'm really going for.

Lee
New Member
New Member
Posts: 35
Joined: Thu Mar 17, 2005 8:17 am
Contact: Send private message

Let me take a look at it

Thu Mar 24, 2005 4:29 pm

Good to hear that your hardware didn't explode :D

To help me fix these problems I would like you to delete the MLGeneric.log file (located in your plugin folder) then execute every element that is causing you difficulties (MLCommands, Learning with the big black character, etc..). Then send me two files

1. MLServer\Plugin\MLGeneric.log
2. MLServer\Data\MyConfig.XML

From these two files I should be able to replicate your protocol and hopefully solve your problems.

I'll be implementing some new things in it shortly, like the capability of defining Terminator characters per command for poor souls who have mixed/cascading protocols.

Any suggestions are welcomed while I'm in the code

User avatar
jrfuda
Expert
Expert
Posts: 946
Joined: Mon Oct 06, 2003 6:59 pm
Location: San Antonio, TX, USA
Contact: Send private message AOL

Thu Mar 24, 2005 5:13 pm

OK, thanks. I'm assuming you're lior_amar@hotmail.com.

I'll include more detail in the email I send you, but another feature request it may be beneficial for others to see is to have wildcards available in the command map.

For example. In my protocol, changes are prefixed differently based on how they were executed.

They are prefixed with a 0, if the comand was executed via RS232
by a 1, if via te remote control, and
by a 2, if by a key press on the receiver.

So, 00102825, 10102825, and 20102825 all mean the same thing (DSP mode is set to 70mm SciFi). If I could put a wildcard character in place of the first digit, I'd only have to create one mapped command per state.

I'm putting together the files you requested, plus some pdf's of the Yamaha's serial protocol, in an email right now.

Lee
New Member
New Member
Posts: 35
Joined: Thu Mar 17, 2005 8:17 am
Contact: Send private message

Ok My bad

Thu Mar 24, 2005 5:38 pm

Ok I had a few seconds and fixed the command bug. Really sorry about that, it was an 18 incher.

Check with Mario for an update

User avatar
jrfuda
Expert
Expert
Posts: 946
Joined: Mon Oct 06, 2003 6:59 pm
Location: San Antonio, TX, USA
Contact: Send private message AOL

Thu Mar 24, 2005 5:50 pm

Great, waiting for the update to be posted.

Of course, after tonight I'll be out of town for thre days, so I won't be able to play with the plugin anymore after this evening. But I'll be al over it on Monday.

Lee
New Member
New Member
Posts: 35
Joined: Thu Mar 17, 2005 8:17 am
Contact: Send private message

Wildcards..I see

Thu Mar 24, 2005 5:50 pm

Ok I was thinking of doing that but was worried it would slow it down. I guess I could always build an inversed index to do it. Would have to duplicate the index to be able to have bidirectional wildcards. Hmm...sounding more interesting by the minute. Actually wondering how I would handle a Hex protocol with wildcards :? .

Make a deal with you, if more then 1 person asks for this then I'll come up with an approach, post it to see if it solves everybodies issues and then implement it. I would also need to get volunteer testers for both Hex and Ascii signed up

Keep them comming :)


User avatar
jrfuda
Expert
Expert
Posts: 946
Joined: Mon Oct 06, 2003 6:59 pm
Location: San Antonio, TX, USA
Contact: Send private message AOL

Thu Mar 24, 2005 6:12 pm

Thanks guys. I "found" it just before you posted, Mario.

I've tested it and haven't noticed any difference.

Return to “MLServer Questions & Answers”

Who is online

Users browsing this forum: No registered users and 1 guest