Testbed for Plugin development

Information and news about RFLink development and releases

Moderators: rtenklooster, BertB, Voyager, Stuntteam

Post Reply
Message
Author
mrTheWheel
Normal user
Posts: 3
Joined: 08 Jan 2017, 11:45

Testbed for Plugin development

#1 Post by mrTheWheel » 14 Jan 2017, 14:53

Hi Team,

For a starter: What a cool project is this and what a nice shield!

I have a (yet) unsupported device for which I want to make a Plugin.

On GitHub I have found a fork (https://github.com/ThibG/RFLink) with old sources of RFlink but I have no clou of how to import this into the Arduino-IDE so I can begin to develop the Plugin.

Is there someone who can lead the way for me??

Thanks in advance!

NB1! have send an email to Frank Zirrone some day's ago, but have not yet received a reply from him ..
NB2! Also posted this question on the Dutch part of this forum.

Redferne
Normal user
Posts: 15
Joined: 13 Jul 2016, 18:51
Location: Sweden

Re: Testbed for Plugin development

#2 Post by Redferne » 20 Jan 2017, 04:57

Goodluck in getting response anytime soon. I've bought a spare RFLink for development but it seems like the team wanna keep the magic recipe a secret :-)
///Redferne

User avatar
Stuntteam
Site Beheer
Posts: 614
Joined: 27 Jan 2016, 16:46

Re: Testbed for Plugin development

#3 Post by Stuntteam » 20 Jan 2017, 10:13

Did you check the development page?
http://www.nemcon.nl/blog2/development
We have sourcecode near the bottom of the page.
It can be used to create your own plugins.

To use it, you need to install the Arduino IDE.
if you installed the IDE in c:\arduino-1.6
go to that directory and extract the contents of the zip file into that directory.
This will give you the souce code in c:\arduino-1.6\rflink
go into that director and open the file RFLink.ino
find the line that contains:
#define SKETCH_PATH D:\arduino\RFLink
and change it to
#define SKETCH_PATH C:\arduino-1.6\RFLink
then within the IDE select open
and select the rflink.ino file
after that it will open the main base source files.
make sure you selected the right board (arduino mega) in the IDE
then you should be able to compile.

Under \rflink\plugins you will find the plugin source files.
If you want to develop a new plugin you can add it there.

Easy example, if you want to make a new temperature sensor plugin, simply modify Plugin_040.c
recompile and test..

If you want to add a new plugin, copy Plugin_040.c to Plugin_047.c
Change the lines:
#ifdef PLUGIN_040
boolean Plugin_040(byte function, char *string) {
to be
#ifdef PLUGIN_047
boolean Plugin_047(byte function, char *string) {

go to the rflink\config directory and edit the config file to include the following line:
#define PLUGIN_047
that makes sure the compiler includes the new plugin.
Then make all the changes you want in this new plugin.

Notes:
-Once you have made a plugin and it is useful for others you can share it and we will add it in the next release (after testing and making sure it does not conflict with outer plugins etc)
- Before you start working on a plugin you best check with us (frankzirrone@gmail.com) if there is a newer plugin or other plugin that needs updating.
- The source code tree is mainly made available for plugin development purposes. It is a bit older but perfect for developing plugins. If you have ideas about the main code these are of course welcome.
- We once used sourceforge but their service is terrible so we moved to a private repository..
-=# RFLink Gateway Development Team #=-
Introduction: http://www.nemcon.nl/blog2/
Generic Support forum: http://www.esp8266.nu/forum/viewforum.php?f=8

Gamester17
Normal user
Posts: 32
Joined: 15 Sep 2016, 13:46

Re: Testbed for Plugin development

#4 Post by Gamester17 » 23 Jan 2017, 12:18

Stuntteam wrote:- The source code tree is mainly made available for plugin development purposes. It is a bit older but perfect for developing plugins. If you have ideas about the main code these are of course welcome.
- We once used sourceforge but their service is terrible so we moved to a private repository..
Any plans to move the main repository to GiHhub, GitLab or similar services and make all the code publicly readable/forkable again?

There any many good reasons why you want code for projects like this available to the public on a popular Git service.

Probably the best reason might be the fact that more eyes on the code usually equals more pull requests from other developers.

MsG
Normal user
Posts: 11
Joined: 25 Jan 2017, 15:36

Re: Testbed for Plugin development

#5 Post by MsG » 08 Feb 2017, 15:14

I'm interested in this question too. RFLink is still rather unknown. I heard about it from someone accidently, otherwise I still would think that one of the only options would be an expensive RFXCom. I heard some complaints about sourceforge, which is rather dead these days for open source projects. I think the project would get a significant gain of users and maybe developers if the whole project would be somewhat more known and made use of the platforms which are known for many Open Source projects, like GitHub or something. Why is the only openly visible source code the older one?

To me it is somewhat unclear whether this project is an Open Source Project or a freeware project, which can be a difference. Don't get me wrong, I really like the whole project and am happy to contribute, but I just think you could easily get more attention by launching a public repository somewhere.

User avatar
Stuntteam
Site Beheer
Posts: 614
Joined: 27 Jan 2016, 16:46

Re: Testbed for Plugin development

#6 Post by Stuntteam » 08 Feb 2017, 15:25

We used Sourceforge in the past and moved to a private repository after a significant blackout at sourceforge..
There are no plans to move back to a public repository for now.
-=# RFLink Gateway Development Team #=-
Introduction: http://www.nemcon.nl/blog2/
Generic Support forum: http://www.esp8266.nu/forum/viewforum.php?f=8

data
Normal user
Posts: 93
Joined: 10 Dec 2016, 11:26

Re: Testbed for Plugin development

#7 Post by data » 12 Feb 2017, 16:34

Can you give me a hint what I am doing wrong? The provided source does not compile.
I get the following errors:

sketch/Plugins/Plugin_101.c:41:1: error: unknown type name 'class'
class DecodeOOK {
^
sketch/Plugins/Plugin_101.c:41:17: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
class DecodeOOK {
^
sketch/Plugins/Plugin_101.c:140:1: error: unknown type name 'class'
class VisonicDecoder : public DecodeOOK {
^
... and so on...

I am using Arduino IDE 1.6.9 on Ubuntu 16.04

olskar
Normal user
Posts: 8
Joined: 13 Feb 2017, 20:01

Re: Testbed for Plugin development

#8 Post by olskar » 13 Feb 2017, 20:04

Correct me if im wrong but i dont think you are supposed to compile the plugin file. They are c-files that works as libraries and get included when you compile rflink.ino

data
Normal user
Posts: 93
Joined: 10 Dec 2016, 11:26

Re: Testbed for Plugin development

#9 Post by data » 13 Feb 2017, 20:43

I am trying to compile rflink.ino

User avatar
Stuntteam
Site Beheer
Posts: 614
Joined: 27 Jan 2016, 16:46

Re: Testbed for Plugin development

#10 Post by Stuntteam » 14 Feb 2017, 00:13

Perhaps you should go back to what is supplied in the archive.
The provided source does compile in the included configuration.
Since the configuration does not include compilation of plugin 101 you should not have the listed errors..
-=# RFLink Gateway Development Team #=-
Introduction: http://www.nemcon.nl/blog2/
Generic Support forum: http://www.esp8266.nu/forum/viewforum.php?f=8

data
Normal user
Posts: 93
Joined: 10 Dec 2016, 11:26

Re: Testbed for Plugin development

#11 Post by data » 14 Feb 2017, 07:34

I simply downloaded the archive and unpacked it. Then, I renamed the folder to RFLink since the Arduino IDE complains otherwise, specified the correct SKETCH_PATH and tried to compile.


update: It compiles, when I remove the Plugin_101.c in the Plugins folder.

User avatar
Stuntteam
Site Beheer
Posts: 614
Joined: 27 Jan 2016, 16:46

Re: Testbed for Plugin development

#12 Post by Stuntteam » 14 Feb 2017, 09:18

Strange.. but at least it works now

update: 1.6.9 does not care about what files are assigned to the project, it tries to compile all files in the directory tree.
As a result excluded files that should be skipped are still included.
Newer versions seem to have fixed that.. but at the same time have "fixes" that affect the timing.
-=# RFLink Gateway Development Team #=-
Introduction: http://www.nemcon.nl/blog2/
Generic Support forum: http://www.esp8266.nu/forum/viewforum.php?f=8

Redferne
Normal user
Posts: 15
Joined: 13 Jul 2016, 18:51
Location: Sweden

Re: Testbed for Plugin development

#13 Post by Redferne » 12 Mar 2017, 01:22

So it is a hard requirement to use IDE 1.6.9 for compiling the ancient source publicly available? Since it affects timing?
Any plans to make some of the R46 core source available now the release is out? Like a new .zip file for us who's still interested in adding support for misc devices?
///Redferne

User avatar
Stuntteam
Site Beheer
Posts: 614
Joined: 27 Jan 2016, 16:46

Re: Testbed for Plugin development

#14 Post by Stuntteam » 12 Mar 2017, 09:36

Redferne wrote:
12 Mar 2017, 01:22
So it is a hard requirement to use IDE 1.6.9 for compiling
Any version from 1.0.5 to 1.6.9 seems to work fine.
Redferne wrote:
12 Mar 2017, 01:22
Any plans to make some of the R46 core source available now the release is out?
Unknown for now..
-=# RFLink Gateway Development Team #=-
Introduction: http://www.nemcon.nl/blog2/
Generic Support forum: http://www.esp8266.nu/forum/viewforum.php?f=8

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest