-
Notifications
You must be signed in to change notification settings - Fork 2k
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
drivers/dali: add initial lowlevel support #16766
base: master
Are you sure you want to change the base?
Conversation
115d86e
to
aacce49
Compare
Hi, works fine on stm32f429i-disc1 board, errors on esp32-wrover-kit. https://forum.riot-os.org/t/any-work-or-interest-in-dali-master-dali-slave/3323/6 |
Latest commit should fix compilation errors on various platforms. |
Hi,
Yes, the latest commit fixed compilation errors on my esp32-wrover-kit. Thanks and best regards. |
40420b4
to
cac3616
Compare
Force pushed this PR as it was completely rework. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions. |
Hi dear reviewers, please don't let this pull request to be deleted ! |
Hi @TA1DB, |
Hi @dylad , no unfortunately because I am busy with another subject but I am following your Dali work here and plan to come back soon. |
Whats the status here? Still working? May I convert it to a draft? |
Unfortunately, I don't have access to the custom hardware I was using for this so maybe revert to draft is a good idea unless I manage to get my hand on something else to continue this. |
Contribution description
This PR adds initial support for the lowlevel part of the DALI protocol (part of IEC 60929). In the current state, it adds the lowlevel functions which allow a master to send data to slaves and receive the optional answer. This implementation is a bit naive as I didn't spend much time on it. I wanted to have something working quickly so there is room for improvement.
Only the master part is supported by this PR but adding support for the slave part should not be too difficult.
Typical DALI network consists on a bus controller (master) with up to 64 peripherals (slaves) such as ballasts or up to 16 groups of devices.
Testing procedure
I tested this PR on a custom board as some hardware is needed to handle the electrical level.
Otherwise, connect one or more slaves to your DALI bus and use the provided test application.
EDIT:
This PR was reworked to add support for both mode. I've rename master/slave to host/peripheral and create two test applications for testing.
tests/driver_dali_host
has the same purpose as before.tests/driver_dali_peripheral
will answer to DALI QUERY STATUS cmd (0x90) and you can also switch on/off board LEDs if the node receive the command 0x05 or 0x00.tests/driver_dali_host
andtests/driver_dali_peripheral
can be tested altogether with two board but it would be better to test the peripheral mode with another commercial device to act as host.Issues/PRs references
None but an user asked about DALI on the forum