Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hapi_mqtt.ino: Eliminated a use of a temporary variable and special value. #106

Closed
wants to merge 1 commit into from

Conversation

james-prior
Copy link
Contributor

Where else can this be done?

Could this be simplified further?

… temporary variable and special value.

Where else can this be done?
@ozarchie
Copy link
Contributor

Did you check if this compiles before you changed the working code base?

@james-prior
Copy link
Contributor Author

@ozarchie asked:

Did you check if this compiles before you changed the working code base?

No. I look forward to doing so,
but am waiting for the instructions for the Arduino stuff
to be put on this github repo.

So I rely on you and others to test Arduino stuff
until the Arduino instructions are in this repo.

@TylerReedMC
Copy link
Collaborator

What instructions do we need? Step-by-step for setting up a node?

@PedroSFreitas
Copy link
Contributor

Maybe this could shed some light: https://github.com/ozarchie/hapi/wiki/HAPInode

I'd like to merge Archie's Wiki with upstream, but maybe @TylerReedMC would like to take a look first.

@TylerReedMC
Copy link
Collaborator

@PedroSFreitas, go for it!

@PedroSFreitas
Copy link
Contributor

@TylerReedMC commented an hour ago

@PedroSFreitas, go for it!

Done.
But a review is necessary. 😄

@herrold
Copy link

herrold commented Jun 14, 2017

I am still confused -- the documentation says 'arduino', but and ESP / Node device is depicted. I have a drawer full of each sitting around, but what 'cookbook' steps:

  • to take hardware and wire it up (shown as to a Node ESP class unit in the Fritzing diagram, which I can match, and
  • set up a needed compilation environment (is the Arduino tarball used, or one of the 'in the cloud' ESP tools?)
  • then to pull the sources, and
  • then to compile it, and
  • then to 'flash' it over to the Arduino or ESP, and
  • then how to architect a testing set-up, and within that,
    -- configure it to be either a end spoke, or
    -- a central control node?

and only then, see if it does something useful

There is a lot of 'embedded' or assumed knowledge, which needs to be reduced to steps which may be printed, and 'checked off'; as done, and to know that one will end up with, say, at least a gateway control node:

  • reporting IoT data from time to time up to a MQTT visualization site,
  • pulling configuration and time data, and distributing it 'downstream' to end-point spoke client nodes
  • compiling and sending 'upstream' that downstream client node data

There is talk in the last prior comment of a code review. What is the pull request number, so it might be reviewed?

@PedroSFreitas
Copy link
Contributor

PedroSFreitas commented Jun 14, 2017

@herrold commented:

I am still confused

Read my previous comment.

But a review is necessary. 😄

But thanks for your contributions, I'm sending it to our communication channel as well (Kanboard). 👍

We are three, one is handling Nodes (Arduino/Node/ESP) code, one is focusing on Python code to run on Smart Modules (Raspberry Pi) and the other is right in between the two. James is helping us on whatever he can and we're super glad for that.
Unfortunately we all have our lives outside the project (working $ for example), so thing will be a little slow for sometime; I believe this is quite normal on an open source project. But we'll get there ;-)

Now just a quick note about compiling the code before pushing it to upstream. Until we set up our Jenkins Integration it should be fairly easy to get the code and try compiling it using Arduino IDE. If the code compiles then it's a good indication that should be pushed (no actual hardware is necessary). Of course we would appreciate immensely if the code was compiled and tested on actual hardware, but we know that isn't something easy for everyone.
The Python code is fairly easy now and should be by now fully documented, but I'll be glad to help on whatever I can't if someone is having problems.

@TylerReedMC
Copy link
Collaborator

Russ, you seem to have a pretty good step-by-step list evolving there. Could you flesh that out a bit and post it on the Wiki?

@matthew-dews
Copy link
Contributor

@TylerReedMC The wiki can't be publicly edited. Perhaps it would be worth looking at moving the wiki contents into the readme folder within the repo so that we can perform pull requests and include documentation updates with corresponding code changes? It is an unfortunate limitation that pull requests can't be opened on the Github wiki.

@PedroSFreitas
Copy link
Contributor

@matthew-dews commented

TylerReedMC The wiki can't be publicly edited. Perhaps it would be worth looking at moving the wiki contents into the readme folder within the repo so that we can perform pull requests and include documentation updates with corresponding code changes? It is an unfortunate limitation that pull requests can't be opened on the Github wiki.

I've read the same and strange that I was thinking exactly that during lunch time. I'll do that then. Probably tomorrow.

@james-prior james-prior mentioned this pull request Jun 14, 2017
@james-prior
Copy link
Contributor Author

I have opened a new issue #107 to discuss the documentation,
since our documentation discussion goes far beyond the little code change
of this pull request.

@TylerReedMC
Copy link
Collaborator

Please don't create a second space for team discussions. The team should have all discussion content accessible and searchable in a single repository that all team members (especially non-developers) are using. GitHub is great for version control but it's severely lacking when it comes to robust communications.

http://104.131.99.114:8065/proddevelopment

@herrold
Copy link

herrold commented Jun 14, 2017

Not going to happen with me as it is not a FOSS approach

  • non-standard port,
  • no PTR record,
  • log-in required

How can this be called 'better'?

@TylerReedMC
Copy link
Collaborator

FOSS refers primarily to the Products of a development effort and not the Process used to create them.

Wikipedia - "Free and open-source software (FOSS) is computer software that can be classified as both free software and open-source software.[a] That is, anyone is freely licensed to use, copy, study, and change the software in any way, and the source code is openly shared so that people are encouraged to voluntarily improve the design of the software."

Some FOSS products are created by private teams with no visibility from the outside world into the development process at all. Which is fine. By contrast, HAPI is an extremely open project. We appreciate all the help we can get, but it is painful to see the team distracted by long-running comment chains that are irrelevant to the functionality of the end product. If you have philosophical issues with the way we're creating our products, please find another way to vent them.

@james-prior james-prior force-pushed the jp-73 branch 2 times, most recently from 74e942a to e59aa19 Compare June 20, 2017 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants