• Recent
    • Tags
    • Popular
    • Register
    • Login

    Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.

    Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website Mango 5 Documentation Website

    SeroUtils.jar management

    Modbus4J general discussion
    6
    41
    43.3k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      mlohbihler
      last edited by

      Hi Richard,

      Did you already convert Modbus4J to 1.4? I recall that for the "-source 1.4" switch to work you'd need to refactor all the generics, annotations, and auto-boxing, and possibly other stuff too.

      Best regards,
      Matthew

      1 Reply Last reply Reply Quote 0
      • R
        racj
        last edited by

        Dear Matthew,

        I have only identified the sections that will need to be modified (as you correctly identified this is mostly generics etc), However I have not proceeded with implementing any changes, because having a usable system is dependant on having a CDC compatible version of SeroUtils.

        Do you have a feel for how much work it would be to generate the CDC compatible version of SeroUtils ?

        Regards

        Richard

        1 Reply Last reply Reply Quote 0
        • M
          mlohbihler
          last edited by

          I could provide you with the subset of seroUtils required by Modbus4J fairly easily. Do note though that Modbus4J is GPL software. Any changes you make need to become open source, which is a consideration if your project ever becomes commercial in the future. But Serotonin can provide a more LGPL-like license in this occurrence.

          Best regards,
          Matthew

          1 Reply Last reply Reply Quote 0
          • R
            racj
            last edited by

            Dear Matthew,

            Open source is not a problem.

            Would you provide the sub-set of SeroUtils as source for me to do the conversion or would you look to do it yourself ?

            Regards

            Richard

            1 Reply Last reply Reply Quote 0
            • M
              mlohbihler
              last edited by

              If you're converting the Modbus4J stuff, you might as well do this too. Attached.

              Attachment: download link

              Best regards,
              Matthew

              1 Reply Last reply Reply Quote 0
              • R
                racj
                last edited by

                Dear Matthew,

                Thank you for that. I will let you know how I get on.

                Regards

                Richard

                1 Reply Last reply Reply Quote 0
                • G
                  gpulido
                  last edited by

                  Dear Matthew,
                  I'm collaborating in a Open Source project to develop a personal home-automation framework, and we would like to use your Modbus4J library.
                  Unfortunatelly it depends of the seroUtils.jar and as our project is under the GPL license we would like to know if you can proportionate us the source code for the library.
                  Thank you in advance
                  Best regards
                  Gabriel

                  1 Reply Last reply Reply Quote 0
                  • M
                    mlohbihler
                    last edited by

                    Hi Gabriel,

                    The source in the above should be all you need. Feel free to use it.

                    Regards,
                    Matthew

                    Best regards,
                    Matthew

                    1 Reply Last reply Reply Quote 0
                    • G
                      gpulido
                      last edited by

                      Hello Mathew,

                      Unfortunately the link is broken can you publish it again?
                      Thank you
                      Regards,
                      Gabriel

                      1 Reply Last reply Reply Quote 0
                      • M
                        mlohbihler
                        last edited by

                        Ah, right. Lost in the move. Re-attached.

                        Attachment: download link

                        Best regards,
                        Matthew

                        1 Reply Last reply Reply Quote 0
                        • A
                          apl
                          last edited by

                          @mlohbihler said:

                          Modbus4J is open source, as all of the sources for Modbus4J are provided. As i said, seroUtils.jar is not open source, not for any matter of secrecy, but only because there are parts of it that users will most certainly ask about that we are not prepared to support. It is, of course, Java technology, and as such resourceful users will - i'm certain - find ways to debug their code without Serotonin having to take on supporting yet another open source project. Again, if this does not suit your sense of entitlement, you have alternatives.

                          Can I take this, that I can reengineer the needed sorces for mango M2M (1.12.4) for further development?
                          Or under which license is seroUtils.jar?

                          1 Reply Last reply Reply Quote 0
                          • M
                            mlohbihler
                            last edited by

                            Yes, you can do what you like with the sources within the constraints of the GPL license. The license for seroUtils is not defined, but it is intended to be used only as support for Mango. I would be inclined to grant its use as support for Mango derivatives under GPL as well.

                            Best regards,
                            Matthew

                            1 Reply Last reply Reply Quote -1
                            • A
                              apl
                              last edited by

                              So, can I

                              get the needed sources

                              or
                              decompile the needed classes it for ScadaBR?

                              and

                              put them in a different packages?

                              OR have a double license GPL and closed source licenses for serotonin only? (this can include any code commited to the GPL version is also in the closed source as well)?

                              Arne

                              1 Reply Last reply Reply Quote 0
                              • M
                                mlohbihler
                                last edited by

                                For seroUtils? No. The license would be one of usage with Mango.

                                Best regards,
                                Matthew

                                1 Reply Last reply Reply Quote 0
                                • A
                                  apl
                                  last edited by

                                  So for ScadaBR I will have to throw out all references to seroUtil in order to get a full Open Source?

                                  1 Reply Last reply Reply Quote 0
                                  • A
                                    apl
                                    last edited by

                                    Im missing a way to JSON serialize an enum by annotation - can you provide the sources to implement this?
                                    Or should I take the approach from my last mail?

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      mlohbihler
                                      last edited by

                                      So for ScadaBR I will have to throw out all references to seroUtil in order to get a full Open Source?

                                      They might do that i suppose, but rewriting all of that supporting code would be a large effort. The good news is that we just started the process of releasing seroUtils as open source. The first project is here: http://code.google.com/p/serotonin-json.

                                      Please note that this is not the version of JSON that is used in Mango, but a more advanced and streamlined version. (The API is similar in many ways, but different enough in others.)

                                      The release of other parts of seroUtils is forthcoming.

                                      Regarding serializing enums, you don't annotate them. The id of the enum is serialized as a string.

                                      Best regards,
                                      Matthew

                                      1 Reply Last reply Reply Quote 0
                                      • A
                                        apl
                                        last edited by

                                        I am delighted :P

                                        Here a "bug" for you. Please have a look at pointListChangeLock in DataSourceRT and PollingDataSourceRT.

                                        1. the lock filed is not final.
                                        2. Its a commonly known static Object Boolean.TRUE
                                        3. the same lock will be used for writing the "cache" and working with the list, which made the lock useless in the first place.
                                          this is fixed in ScadaBR

                                        Arne.

                                        P.S. if you interested in further bugs, if I come along, please let me know.

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          mlohbihler
                                          last edited by

                                          Hi Arne,

                                          Sorry, i'm not seeing what the bug is here. You point 2 is incorrect. The lock object is not Boolean.TRUE, it is a new Boolean object created for each data source instance. And contrary to point 3, the lock is only used to manage the point list, not writing to the cache (unless writing to the cache is part of a data sources usage of the point list).

                                          Maybe if you posted the "fix", it would help me understand.

                                          Best regards,
                                          Matthew

                                          1 Reply Last reply Reply Quote 0
                                          • A
                                            apl
                                            last edited by

                                            in DataSourceRT.addDataPoint(...)
                                            pointListChangeLock is used to synchronize access to addedChangedPoints and removedPoints.

                                            in PollingDataSource.scheduleTimeout you synchronize also with pointListChangeLock...

                                            This makes the whole thing useless, you wont have separate access to add/Remove points.

                                            @2 You right, I was puzzled by the usage of Boolean ;-)

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post