-
-
Notifications
You must be signed in to change notification settings - Fork 37
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
Implement RDM_PID_SUPPORTED_PARAMETERS #90
Implement RDM_PID_SUPPORTED_PARAMETERS #90
Conversation
3f37297
to
4a73efe
Compare
Thanks for submitting this! Adding support for As I'm sure you're aware, The design I had in mind for I haven't looked closely at this PR yet, so if any of this is repetitive, I apologize! I'll review your code and mark it up with notes which hopefully explain the above a bit more clearly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent work! Please let me know your thoughts! :)
src/dmx/config.h
Outdated
#define RDM_RESPONDER_PIDS_MAX (8 + 16) | ||
#endif | ||
|
||
/** @brief The maximum number of additional parameters that is supported. | ||
* | ||
* According to ANSI-E1-20-2010 we can support up to 115 additional parameters. | ||
* In practice we will never need that many, thus we limit it to save memory. | ||
*/ | ||
#define RDM_MAX_NUM_ADDITIONAL_PARAMETERS 25 | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The way I had designed this library, I had intended RDM_RESPONDER_PIDS_MAX
to be the only macro needed to describe the number of supported RDM parameters. Upon reviewing this PR, it now seems like it makes more sense to do it the way you've written it and have two separate macros: RDM_RESPONDER_NUM_PIDS_REQUIRED
(which would evaluate to 9 instead of 8) and RDM_RESPONDER_NUM_PIDS_OPTIONAL
. The maximum supported number of PIDs would then be RDM_RESPONDER_NUM_PIDS_REQUIRED + RDM_RESPONDER_NUM_PIDS_OPTIONAL
. Thoughts?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds fine.
I have not put much thought into sub-devices. I just skimmed the part of the specification that deals with sub-devices and am not really sure what to make of it. I have never seen a dmx fixture in the real world that supports this (to be fair I have seen very little fixtures that do support rdm at all). For my use case the root device hast to support
That makes perfect sense if |
Thanks for the very detailed answers :) I really appreciate it :) |
dad2fa0
to
2ffcaff
Compare
In that case we need to store the sub-device id in Edit: This will also clash with how the nvs storage is implemented at the moment. |
4e9e0dc
to
deb0b8e
Compare
Again, great work! I'll go ahead and merge. |
I want to support more parameters, to be able to do that the
PID_SUPPORTED_PARAMETERS
must be supported.This is implemented by this PR.
I am not sure that this is the best way to do it. Please feel free to point out any mistakes or strange things. I am not very familiar with your code base and might have overlooked a more obvious solution.
This requires #89 to be merged first
On top of this, I am currently implementing support for
PID_DMX_PERSONALITY
and will provide a PR within the next 1-2 days :)