Before you start writing code, I think you should talk with the group about the architecture that you would develop.

One of the essential, unbend-able rules is that any new development must not add new operating system interfaces that are not standard, not documented at OpenGroup.org, or are not supported by Linux.  New logic can use, for examples, standard character driver interfaces, a BSD socket interface, or the file system, but no made up interfaces and no direct calls into non-standard OS functions.

I don't know much about DALI other than having scanned some websites.  My recommendation is that you consider this as a user-space library like apps/modbus, perhaps at apps/dali.  The actual, low-level hardware interface could be implemented, say, via a character driver known to the apps/dali logic.  The user, application interface could then be purely of you choosing and exported via a header file at apps/include/dali/dali.h

The dali drivers would go at nuttx/drivers/dali (probably) and the interface (IOCTL commands and internal OS setup interfaces) might go in nuttx/include/nuttx/drivers/dali.h.

Does that make sense?  In any case, let's get concurrence on the interfaces before starting code development.  That will save a lot of problems down the road and will probably also engage more people, get a good review of the design, and might recruit people help you with the job.

Greg

On 4/15/2021 9:43 AM, murat tologlu wrote:
Hi Alan,
I am glad to hear that you found my proposal as a nice feature for Nuttx to 
have. I see you have made a good intruction; let me add something: Yes, DALI 
interface standard has DALI and DALI2 versions. DALI2 version was also extended 
with a feature set named as D4i. Therefore we have to cover all. Pysical layer 
is very simple, we can use any of ST STEVAL-ILM001V1 and Mikroe DALI 2 Click, 
or we can make our own hardware  interface for our tests, no problem. 
Manchester encoding is also very simple, as the and since the clodck frequency 
is very low we can implement it by software with register operations without 
using any special counter therefore we can easily obtain portability of our 
code.
In this work what I can do is, I can get all the information required such as 
IEC62386 standard and others, I can order all the required hardware, I can 
setup the hardware and I can do necessary tests. I can also participate 
implementing these in Nuttx codebase as much as I can with your help. So, let's 
get started, cd nuttxspace/nuttx make distclean :)

On 2021/04/14 14:11:09, Alan Carvalho de Assis <acas...@gmail.com> wrote:
Hi Murat,

I think DALI support should be a nice feature to have!

Well, I already search for this protocol some time ago, but I don't
know much about it yet.

The protocol uses Manchester encoding, maybe driver interface should
be implemented using GPIO and freerunning timer. Suggestions are
welcome!

For HW I think we have two options: ST STEVAL-ILM001V1 and Mikroe DALI 2 Click.

It seams there are two protocol version: DALI and DALI 2. Probably
those DALI dimmers on Aliexpress are pretty old DALI protocol.

BR,

Alan

On 4/14/21, murat toloğlu <mtolo...@hotmail.com> wrote:
I would very much like the DALI interface to be in Nuttx and I would like to
learn your opinions on this issue. My knowledge and experience in Nuttx is
not enough to do this work alone, but if we get a few people together, I can
participate in the development work.

Reply via email to