Skip to main content

Paso 4: Crear submódulo "Light"

Como se hizo antes para el Switch y el SwitchSimple, para el módulo Light, una declaración de módulo Light, un bloque de funciones Light y una interfaz ILight hay que crear. El módulo será implementado por el bloque de funciones, que a su vez implementará la interfaz ILight.

Para poder agregar el Light módulo debajo de nuestro Room módulo, la declaración de módulo de Room tiene que ser ampliado con un Slots sección. En esta sección una subsección Slot_Multi tiene que ser creado, lo que se llama Lights y podrá albergar módulos del tipo Light . El número de luces que pueden o deben agregarse a una habitación se define mediante el parámetro Cardinality (en este caso entre 1 y 3 luces). Además se declaran dos variables: Variable (pLights, que contendrá las instancias del bloque de funciones de los módulos Light agregados a la habitación) y Var_Count (uiNumberOfLights, que se rellenará con el número de módulos Light añadidos a la habitación).

figura 54. Definición de sección Slots
Definición de sección Slots


las variables pLights y uiNumberOfLights deben agregarse al bloque de función del módulo "Luces", donde uiNumberOfLights es un UINT y pLights de tipo POINTER TO ILight Con esta definición, solo los módulos cuyos bloques de función también implementan el ILight La interfaz se puede agregar a la Lights espacio.

figura 55. Declaración en el Room bloque de funciones
Declaración en el Room bloque de funciones


El mismo concepto de tragamonedas que se usó para el Roommódulos se utiliza ahora para el Light módulo. En consecuencia, la declaración de Light incluye una ranura con un Switch, por lo que esta ranura no es una ranura múltiple, sino una ranura simple. Parámetros adicionales de la Light módulo son la velocidad del atenuador rSpeed y el brillo máximo uiMaxValue. Finalmente, se debe definir una salida que represente el brillo de la luz asociada. Todos los parámetros, ranuras y salidas también deben agregarse como variables al bloque de funciones del Light módulo.

figura 56. Declaración de módulo Light
Declaración de módulo Light


figura 57. Declaración del bloque de función Light
Declaración del bloque de función Light


figura 58. Lista de texto y grupo de imágenes
Lista de texto y grupo de imágenes


Paso 5: Crear submódulo "Light simple"