Home AMX User Forum AMX Technical Discussion

Anyone actually using ICSP (or, ICSCP, whatever) protocol?

I've been looking at the Internet Control system Communication Protocol patents and think it's interesting that we can communicate with the master controller in that way. But, as far as I can tell, no one's really into it. Anyone done any work with it? Just curious.

Comments

  • jjamesjjames Posts: 2,908
    Well . . . ICSP is the protocol that AMX uses to communicate with other AMX devices. So, every touch panel, every "native" AMX device, or any third party (such as Touch Panel Control) uses ICSP to communicate to an AMX master. If you want any kind of custom device, i.e. a PC, to be able to accept commands via SEND_COMMAND or strings via SEND_STRING, etc. ICSP is used.

    _Maybe_ the reason why it's not used so often is perhaps not everything is documented (clearly) enough for people to make heads or tails out of it. There are some gotcha's in the protocol, particularly the flag bits, since I don't think their documented (or at least it's use.) I haven't read over the protocol in a while, but I've read it over enough to have a fairly clear understanding of it.

    Or, maybe because it's AMX's proprietary protocol & means of communication. You know . . . intellectual property. They seem not to have come hard down on anyone that actually uses it.

    Also, I found this article quite interesting: http://findarticles.com/p/articles/mi_m0EIN/is_1999_June_10/ai_54852374/

    In it, it says that it is an "open" protocol and that it was adopted by nearly 100 equipment manufacturers. So . . . not sure exactly what AMX's stance is, but it is patented. How it can be legally used . . . not sure. Other things such as the FSF file structure (i.e. TPD4, Keypad Builder, etc.), the encryption algorithm for ICSP (also known as eICSP), Axlink, and the likes are not publicly documented. There are a few more things out there that show the protocol, but I forget exactly what they are.
  • With all of the tinkerers on here, I'm just surprised no one has talked about fooling around with it some more. But the documentation is pretty shoddy. I imagine that's deliberate.
  • jjamesjjames Posts: 2,908
    If you want to talk about it . . . feel free. ;) I suspect AMX kinda frowns down upon discussing their intellectual property on a public forum.

    Have at it!
  • annuelloannuello Posts: 294
    I would not call the patent documents "documentation" for using the protocol. The purpose of a patent document it is to retain intellectual property, so you can control the invention. The protocol is described in a sufficient manner for AMX to legally kick some butt if other people decide to leverage it without permission.

    While I have no inside knowledge on any particular instances, it wouldn't surprise me the least if there were a substantial amount of lawyer-talk before TPControl came out. When the pre-release chatter started, TPControl looked (for all intents and purposes) to be a purely 3rd-party development, running on their own initiative. A few months before "go live" they mysteriously went silent and the web-page was stripped back to a "watch this space" place-holder. Now, I'm no legal expert, but I suspect there were a few meetings with TPControl and AMX legal folk prior to TPControl resurfacing as an AMX partner. That is where a patent document comes in handy. Ultimately, AMX have patented all their protocols, they have the right to say who can and can't use them.

    I don't expect (and I'm not asking) TPControl or AMX folk to comment on this manner, since there is probably a lot of confidentiality clauses surrounding their agreement as well. This is all my pure speculation.

    So when it comes to tinkering with AMX protocols, you may find that a few people have actually done this - particularly when there is nothing better to do on a Friday night after work. However, trying to commercialise a product based on a patented protocol without paying any royalties to the patent holder is just asking for a visit from some stout men with dark sunglasses and a big black van.

    My 2 cents worth. Get your own legal advice, etc.

    Roger McLean
  • Of course, the last thing I would do is try to make money off of their patented protocols.
  • annuelloannuello Posts: 294
    Of course, the last thing I would do is try to make money off of their patented protocols.

    I would go one step further. Suppose someone made an equivalent of TPControl using ICSP but chose to release it as OpenSource/public domain/freeware. That could potentially cut into a substantial amount of revenue for AMX, so I can understand if they would want to take some form of action.

    With all that in mind, there is still nothing to prevent you from creating your own 3rd party products (IP/RS232/RS485) with your own protocol and supporting module. The only "advantage" of ICSP is having your device appearing as a native device rather than a 3rd party device. I suspect that if you are a native device, you would also have to comply with firmware-updating techniques which IIRC are not clearly "documented" in the patent docs.

    Since you are digging around the protocol patents, you may also enjoy having a look at the old AMX EXTERNAL_CONTROL protocol which _is_ documented in the Axcess Programming Language document. While it was dropped in the move to NetLinx, it would be trivial to implement the protocol in a NetLinx module.

    Roger McLean
  • vincenvincen Posts: 526
    All the more the ICSP protocol is definitively not simple to implement (already did it in the past) so you should consider better to build your own protocol as suggested with a module you can re-use at your wish in systems you need to control (pretty easy to do in NetLinx with Virtual devices ;)

    Vincèn
  • DHawthorneDHawthorne Posts: 4,584
    ICSP was designed as a hardware-level protocol, so I can't imagine it being very fun to implement.
  • AMXJeffAMXJeff Posts: 450
    NetLinxDiag
    DHawthorne wrote: »
    ICSP was designed as a hardware-level protocol, so I can't imagine it being very fun to implement.

    I used ICSP to get NetLinxDiag (iPhone) app to work. I had to license the intellectual property from AMX. Great Protocol!

    I created a DUET Module that had some of the same features, with an external protocol, you can do alot of the same features inside a duet module that you can do with ICSP.
  • kennethkkennethk Posts: 86
    AMXJeff wrote: »
    I used ICSP to get NetLinxDiag (iPhone) app to work. I had to license the intellectual property from AMX. Great Protocol!

    How is the App?
    Great? :)

    Wasnt aware of it, even i find my self searching for "amx" stuff at appstore, google, library(?) all the time :)

    Is it functional (is the correct question i guess)?

    Not the most expensive app, but since i find 0 revievs for it (appstore Norway), i thought i ask you.
    Won't hold it against you if i disagree with your comment, but dont want to pay for it if you say "dont buy it".

    Haha!!! This might be an easy sale for you. :)




    Kenneth K
  • jjamesjjames Posts: 2,908
    Of course he's going to say it works fine - which it does. :D

    Take it from me, someone who is pretty hard on 3rd party apps - this one works as advertised. No reason not to buy it.
  • kennethkkennethk Posts: 86
    Thanks james!

    Just bought it, and will test and enjoy it soon!

    Make sure AmxJeff give you credit for this sale :)


    Kenneth K
  • mpullinmpullin Posts: 949
    I use NetLinxDiag all the time, even just testing something on the other side of our office. It's good.
  • Current, i have a Sample-Project writen in C# (.NET Framework)

    https://github.com/GThreepwd/ICSP-Control

  • jjamesjjames Posts: 2,908
    edited May 2020

    Not bad, Donald. Looks very, very similar to my C# library.

Sign In or Register to comment.