Notes de version du logiciel DALI


Version 2.1
2024-07-04 (Dernière)

Nouvelle fonctionnalité :

  • La variable optionnelle "Current bus unit configuration" de la Memory Bank 0 avec l'adresse 0x1B a été ajoutée. Cela inclut également un nouveau paramètre de configuration du vendeur pour l'initialisation.

Fixe :

  • Ajout du type de périphérique 52 (Diagnostics & Maintenance) manquant dans Query (next) device type. 

  • La demande du numéro de version étendue des extensions de périphériques (device types 49, 51 et 52) a été corrigée.

  • Le mécanisme de détermination et de mise à jour du "Number of last accessible memory bank" dans la Memory Bank 0 adresse 0x02 a été ajusté. L'ajout et/ou la suppression de banques de mémoire manufacturer-specific est maintenant pris en compte.

  • Les variables Memory Bank 0 "102 version number of all integrated control gear" et "103 version number of all integrated control devices" sont désormais définies en fonction du mode de pile configuré (control gear, control device) et ne sont plus initialisées de manière générale à 2.0.

  • Mécanisme d'envoi de commandes étendues avec la pile DALI configurée comme dispositif de contrôle révisé. Les modules concernés sont DT6 (LED), DT7 (Switching), DT8 (Colour). 

  • Correction du mécanisme de stockage

 

Version 2.0
2023-10-16

Nouvelle fonctionnalité :

  • L'écriture d'une cellule dans une banque de mémoire spécifique au fabricant déclenche la réaction DALILIB_REACT_INTERNAL_CTRL_GEAR_MEMORY_CELL_CHANGED pour Control Gears.

  • L'écriture d'une cellule dans une banque de mémoire spécifique au fabricant déclenche la réaction DALILIB_REACT_INTERNAL_CTRL_DEVICE_MEMORY_CELL_CHANGED pour les Control Devices.

  • Control Gear : Ajout du DT8 RGBWAF uniquement

  • Ajout de fonctions de service et de débogage

    a) Arrêter et démarrer le Dalireceiver

    b) Détection d'une erreur matérielle lors de l'émission
    (convertisseur de niveau de l'émetteur et/ou du récepteur défectueux)

    c) Envoi de trames de test 8 bits (sans api)

    d) Fonction permettant de renvoyer le numéro de version et de build.

    e) Numéro de build nouvellement introduit dans le LL-Driver

Fixe :

  • Correction de l'erreur de temps cumulatif lors de l'envoi (interfère avec 102.6.4)

  • La commande TERMINATE déclenche une opération de sauvegarde si une variable persistante a été modifiée pendant le mode initialized.
    (Partie 102 Séquence 7.1)

  • Racecondition supprimée dans la gestion de la RecieveQueue.

  • Suppression des callbacks interruptibles/disponibles. N'est plus nécessaire en raison de la résolution de la Racecondition.

 

Version 1.11
2023-03-24

Nouvelle fonctionnalité :

  • Define DEBUG_LOG a été introduit pour pouvoir activer ou désactiver le logging séparément de la version de DEBUG.

  • Le paramètre de configuration deactivateAutomaticSavePersistent a été introduit. Lorsqu'il est défini, l'enregistrement des variables persistantes est uniquement déclenché par une action interne.

  • Si la pile a réinitialisé les variables persistantes à leurs valeurs par défaut, l'application est maintenant informée par une réaction.

  • Ajout d'une nouvelle réaction permettant de faire la distinction lors de la réinitialisation des variables persistantes aux valeurs par défaut entre Init et Reset

  • OperatingMode 0x80 - 0xFF est désormais autorisé par la pile

  • Le calcul du niveau de la cible a été revu. En cas de changement de valeur, l'application est informée par une réaction nouvellement introduite

  • De nouveaux paramètres de configuration ont été introduits :
    - pour spécifier l'offset entre le début de la pile et le current time
    - pour utiliser une valeur aléatoire pour le calcul de la graine aléatoire

  • La variation répétée utilise désormais le niveau de lumière réel (haute résolution) comme niveau de départ au lieu d'utiliser le niveau réel arrondi ActualLevel.

  • Les actions internes "DALILIB_ACT_INTERNAL_CTRL_GEAR_EXEC_DAPC" et "DALILIB_ACT_INTERNAL_CTRL_GEAR_EXEC_DAPC_RAW_VALUE" déclenchent un processus équivalent à celui d'une commande DAPC reçue de l'extérieur et qui utilise les paramètres existants (fading) lors de la transition.

  • Vous pouvez créer autant de banques de membres personnalisées que vous le souhaitez. Le nombre de membanks est toujours limité par MAXMEMBANKS

  • MAXMEMBANKS a été déplacé de "defines.h" à "libdali.h", ce qui le place dans la zone configurable par l'utilisateur.

  • Pour les banques de mémoires personnalisées, les adresses 1 et 2 sont désormais accessibles en écriture via `WRITE MEMORY LOCATION`.

  • Dans la fonction gear_calc_actual_level(), le calcul de la stepValue a été revu afin d'augmenter la résolution lors de la variation de l'intensité lumineuse.

  • Ajout d'une nouvelle énumération permettant à l'application de faire la distinction entre défaillance totale et défaillance partielle de la lampe lors de la définition et de la consultation de l'état de défaillance de la lampe.

  • Rendre la Memorybank 1 disponible en tant que Usermembank sur GEARS si l'extension DALI Part 251 DiiA est désactivée

  • Les trames propriétaires entre 9 et 12 bits sont désormais également signalées à l'application. Celles-ci peuvent également survenir lors de réponses de gears mal programmés qui devraient en fait générer une collision. L'application peut ainsi s'en sortir.

  • SET OPERATING MODE déclenche maintenant une DALILIB_CTRL_GEAR_REACTION avec le code de réaction DALILIB_REACT_INTERNAL_CTRL_GEAR_SET_OPERATING_MODE

  • Fonction d'effacement (référence) des banques de mémoire spécifiques au fabricant mise en œuvre

  • SET OPERATING MODE déclenche maintenant une DALILIB_CTRL_DEVICE_REACTION avec le code de réaction DALILIB_REACT_INTERNAL_CTRL_DEVICE_SET_OPERATING_MODE

Fixe :

  • La réaction DALILIB_REACT_INTERNAL_CTRL_GEAR_DEFAULT_PERS_MEMORY contient désormais des données dans la structure gearReact

  • La commande IDENTIFY DEFICE est exécutée selon les spécifications, DALI_CTRL_DEVICE_IDENTIFY_DEVICE_TIME_MAX a été augmenté à 10s. La pile informe l'application d'une réaction nouvellement introduite lorsque l'état de l'Identify device change.

  • Les commandes (sauf les requêtes) réinitialisent l'identifiant du périphérique.

  • Les commandes Send-Twice précédées de la commande ENABLE DEVICE TYPE sont exécutées.

  • La commande QUERY MANUFACTURER SPECIFIC MODE obtient une réponse positive si la pile fonctionne dans un mode spécifique au fabricant.

  • Lorsque la courbe de gradation est modifiée, le bit correspondant dans la variable operatingMode est activé ou désactivé.

  • Éviter les dépassements ou les sous-dépassements lors de la variation au moyen du taux de variation.

  • La pile configurée en tant que gear répondra oui à la commande QUERY GEAR PRESENT si l'adresse courte est MASK.

  • En cas de variation, targetLevel est directement fixé à 0.

  • Le délai d'attente Send Twice a été abaissé à 99 ms.

  • Dans gear_calc_actual_level(), une sous-exécution se produisait lors du calcul de stepValue, maintenant le calcul est effectué comme un entier 64 bits.

  • Les opérations de variation se terminent une fois le temps de variation écoulé

  • Si targetLevel est égal à 0, actualLevel est mis à 0 à la fin du processus de variation.

  • Si stepTime est faible, la variation ne se termine qu'après l'exécution de l'étape de variation.

  • Après une défaillance du système, le niveau actualLevel est conservé

  • Lors de l'exécution de la première commande UP/DOWN, la première étape est exécutée avant le début de la variation de l'intensité lumineuse

  • Lors du calcul du diffLevel dans gear_calc_dimmrate(), le report est pris en compte pour les séquences UP/DOWN.

  • Lorsque la pile reçoit des commandes UP et DOWN, elle interrompt le processus de variation en cours.

  • Lors du calcul du stepTime d'un Dimm-Vorgan, une division par zéro pouvait se produire, maintenant nous testons cela et évitons la division.

  • La commande DAPC(MASK) conserve limitError

  • Avec la commande UP, la pile définit limitError si acutalLevel est déjà à maxLevel ou minLevel ou si les limites sont dépassées lors du calcul de targetLevel

  • Lors d'un PowerOn, la pile définit le targetLevel avec vérification des limites, de sorte que limitError est également défini si nécessaire

  • Pour les séquences DAPC, le processus de variation était mal calculé, de sorte qu'il n'y avait pas de changement de niveau lors de la variation, maintenant le processus de variation est calculé correctement.

  • L'exécution de la commande GO TO SCENE (actualLevel égal targetLevel) ne déclenche pas de processus de variation de lumière

  • La pile ne modifie le niveau actualLevel que lors de l'exécution des commandes RECALL MIN LEVEL et RECALL MAX LEVEL.

  • Au cours du processus Identify device, la pile a défini des niveaux de luminosité différents en fonction de l'initialisationState, maintenant la pile alterne toujours entre off et 100%.

  • Lorsque l'opération Identify device se termine, le niveau de lumière réel est défini lorsque l'opération se termine.

  • Lors de l'exécution des commandes DAPC, FIXER NIVEAU D'ALIMENTATION et DTR0 (et d'autres instructions), la pile termine le processus d'identification du périphérique.

  • Les commandes RECALL MIN LEVEL et RECALL MAX LEVEL fixent le niveau de lumière réel à PHM indépendamment de l'état d'initialisation et à 100 % si l'état d'initialisation n'est pas DISABLED.

  • Pendant une opération de variation, le nouveau actualLevel n'est défini que si le targetLevel n'a pas encore été atteint.

  • Dans gear_init_after_power_cycle(), le targetLevel n'est défini qu'après la fin du power-on time, en même temps que le actualLevel

  • La pile peut faire la différence entre une défaillance totale de la lampe et une défaillance partielle de la lampe et lui indiquer l'état correspondant - la pile définit alors les variables lampFailure et lampOn en conséquence

  • Les temps de variation de fastFadeTime étaient extraits du tableau 1 de la norme CEI 62386-207:2009, la pile peut désormais utiliser les temps de variation du tableau 1 de la norme CEI 62386-207:2018, commutables au temps de compilation via le nouveau define introduit.

  • Si le startTimeOffset était supérieur au currentTime, l'heure de début était mal calculée pour la procédure power-on sur les gears et pour la notification de power cycle sur les contrôleurs d'application ; désormais, l'heure de début est calculée correctement avec wrap-around.

  • Si une défaillance du système survient pendant le power-on time, la pile interrompt la procédure de power-on.

  • Les avertissements du compilateur IAR ont été corrigés

  • Si minLevel et targetLevel étaient à 1, la pile mettait targetLevel à 0 lors de l'exécution de la commande STEP DOWN, maintenant targetLevel reste à 1 dans ce cas.

  • Lors de l'exécution de la commande GO TO SCENE (MASK), la pile définit powerCycleSeen sur FALSE si sceneLevel est égal à MASK

  • Si la commande DAPC (MASK) est traitée pendant la procédure power-on, la pile interrompt ce processus.

  • La première étape de variation d'une opération de variation était effectuée 10 ms après le début, même si le stepTime était nettement plus petit ; maintenant, au début de l'opération de variation, le pilote de bas niveau demande une image d'état en 2 ms, de sorte que si le stepTime est faible, la première étape de variation est effectuée après 2 ms.

  • Dans le cas de la gradation haute résolution, le niveau de lumière recalculé était transmis à l'application chaque fois que le timingHelper était appelé. Désormais, la pile ne transmet le niveau de lumière recalculé à l'application que si le niveau de lumière a changé.

  • Les actions internes sont exécutées pendant la coupure de l'alimentation du bus ou la défaillance du système.

  • Lors de l'initialisation d'une instance de pile, les instances actives sont prises en compte et les valeurs correspondantes sont mises à jour dans leur banque de mémoire 0.

  • Les avertissements du compilateur Keil ont été corrigés

  • Si MEM_BANK1_EXTENSION est activé, DT50 signale QUERY_EXTENDED_VERSION_NUMBER 0x08 (V2.0).

  • Défauts corrigés pour MEM_BANK1

  • Pour un message go to scene, la nouvelle réaction interne "DALILIB_REACT_INTERNAL_CTRL_GEAR_GO_TO_SCENE" est déclenchée.

  • L'index de la scène est écrit dans reactValue.

  • Get scene internal action renvoie une valeur en pourcentage. La valeur brute est toujours disponible via gearReact.reactRawValue.

  • Tous les événements contiennent désormais toujours les dates des événements

  • Le code de réaction des capteurs de lumière n'est plus défini sur Inconnu lorsque le premier bit de la valeur d'entrée est défini.

  • Le filtre d'événement pour les capteurs de lumière a un impact sur les événements du Report Timer et pas seulement sur les événements déclenchés par des changements de valeur.

  • Correction du "QUERY LIGHT SOURCE TYPE" de Part102 - 11.5.19. Auparavant, le type de périphérique était affiché à la place du type de source lumineuse.

  • Le test ProbitLab 102.6.4 (fade to zero) pouvait échouer en raison du chronométrage interne pour l'API. (corrigé)

  • LL-Driver passe à la version 1.12

 

Version 1.10
2022-05-31

Nouvelle fonctionnalité :

  • Define DEBUG_LOG a été introduit pour pouvoir activer ou désactiver le logging séparément de la version de DEBUG.

  • Le paramètre de configuration deactivateAutomaticSavePersistent a été introduit. S'il est défini, l'enregistrement des variables persistantes est uniquement déclenché par une action interne.

  • Si la pile a réinitialisé les variables persistantes à leurs valeurs par défaut, l'application est maintenant informée par une réaction.

  • Ajout d'une nouvelle réaction permettant de faire la distinction lors de la réinitialisation des variables persistantes aux valeurs par défaut entre Init et Reset

  • OperatingMode 0x80 - 0xFF est désormais autorisé par la pile

  • Le calcul du niveau de la cible dans la pile a été revu. En cas de changement de valeur, l'application est informée par une réaction nouvellement introduite

  • Nouveau paramètre de configuration pour spécifier le décalage entre le début de la pile et le current time.

  • La variation répétée utilise désormais le niveau de lumière réel (haute résolution) comme niveau de départ au lieu d'utiliser le niveau réel arrondi ActualLevel.

  • Le paramètre de configuration a été introduit afin de pouvoir utiliser une valeur aléatoire réelle pour le calcul de l'aléa.

  • Dans la fonction gear_calc_actual_level(), le calcul de la stepValue a été revu afin d'augmenter la résolution lors de la variation de l'intensité lumineuse.

  • Ajout d'une énumération permettant à l'application de faire la distinction entre défaillance totale et partielle des lampes lors de la définition et de la consultation de l'état de défaillance des lampes.

Fixe :

  • La réaction DALILIB_REACT_INTERNAL_CTRL_GEAR_DEFAULT_PERS_MEMORY était erronée et contient maintenant les données attendues dans la structure gearReact

  • La commande IDENTIFY DEFICE est maintenant exécutée selon les spécifications, DALI_CTRL_DEVICE_IDENTIFY_DEVICE_TIME_MAX a été augmenté à 10s. La pile informe l'application d'une réaction nouvellement introduite lorsque l'état de l'Identify device change.

  • Pour les commandes (sauf les requêtes), Identify device est désormais réinitialisé

  • Les commandes Send-Twice précédées de la commande ENABLE DEVICE TYPE ont été rejetées et sont maintenant exécutées.

  • La commande MODE SPECIFIQUE DU MANUFACTEUR DE RECHERCHE a été ignorée et il est désormais répondu par oui si la pile fonctionne dans un mode spécifique au fabricant.

  • La commande LED QUERY OPERATING MODE a reçu une réponse erronée - la courbe de gradation active n'a pas été prise en compte ; désormais, lorsque la courbe de gradation est modifiée, le bit correspondant est activé ou désactivé dans la variable operatingMode.

  • Lors de la variation à l'aide du taux de variation, un dépassement ou une sous-exécution arithmétique pouvait se produire, il est maintenant testé et le dépassement ou la sous-exécution est évité.

  • La pile configurée en tant que gear ne répondait pas à la commande QUERY GEAR PRESENT si l'adresse courte était MASK. Maintenant, la réponse à la requête est toujours oui.

  • Lors de la variation au niveau 0, le targetLevel était d'abord défini sur minLevel et seulement après la variation sur 0. Maintenant, le targetLevel est directement défini sur 0.

  • Le délai d'attente Send Twice a été réduit à 99 ms.

  • Dans gear_calc_actual_level(), une sous-exécution se produisait lors du calcul de stepValue, maintenant le calcul est effectué comme un entier 64 bits.

  • Les opérations de variation se terminaient parfois trop tôt, désormais l'opération de variation se termine exactement à la fin du temps de variation.

  • Avec targetLevel égal à 0, actualLevel était déjà mis à 0 pendant le processus de variation, maintenant actualLevel n'est mis à 0 qu'à la fin du processus de variation.

  • Avec un stepTime faible, il pouvait arriver que le processus de variation se termine avant que la dernière étape de variation ne soit exécutée, maintenant le processus de variation ne se termine qu'après l'exécution de l'étape de variation.

  • Après une défaillance du système, l'actualLevel a été mis à zéro, maintenant l'actualLevel est conservé.

  • Lors de l'exécution de la première commande UP/DOWN, la première étape avant le début de l'opération de variation était ignorée, cette étape est maintenant exécutée.

  • Lors du calcul du diffLevel dans gear_calc_dimmrate(), le report était ingéré, de sorte que trop peu d'étapes de variation étaient effectuées pour les séquences UP/DOWN, maintenant le report est pris en compte pour les séquences UP/DOWN.

  • Lors de la réception des commandes UP et DOWN, le processus de variation en cours n'était pas annulé, maintenant la pile annule le processus de variation en cours.

  • Lors du calcul du stepTime d'un Dimm-Vorgan, une division par zéro pouvait se produire, maintenant nous testons cela et évitons la division.

  • Dans la commande DAPC(MASK), imitError était défini sur FALSE, maintenant limitError est conservé.

  • Avec la commande UP, limitError n'était pas définie si le niveau max était dépassé lors de l'exécution. De même, la commande DOWN ne définissait pas limitError si le niveau d'exécution était inférieur à minLevel. Maintenant, la pile définit limitError si acutalLevel est déjà à maxLevel ou minLevel, ou si les limites sont dépassées lors du calcul de targetLevel.

  • Lors d'un PowerOn, le targetLevel était défini directement sans vérifier les limites, maintenant la pile définit le targetLevel avec vérification des limites, de sorte que limitError est également défini si nécessaire.

  • Pour les séquences DAPC, le processus de variation était mal calculé, de sorte qu'il n'y avait pas de changement de niveau lors de la variation, maintenant le processus de variation est calculé correctement.

  • Lors de l'exécution de la commande ALLER A LA SCENE, une opération de variation était déclenchée alors que actualLevel était égal à targetLevel, maintenant aucune opération de variation n'est déclenchée dans ce cas.

  • Lors de l'opération Identify device, le niveau actualLevel était modifié, maintenant la pile ne change le niveau actualLevel que lors de l'exécution des commandes RECALL MIN LEVEL et RECALL MAX LEVEL.

  • Pendant le processus d'identification du périphérique, la pile a réglé le niveau de lumière réel à des niveaux différents en fonction de l'initialisationState, maintenant la pile alterne toujours entre Off et 100%.

  • Lors de l'arrêt de l'opération Identify device, le niveau de lumière réel n'était défini que si le minuteur avait expiré, maintenant il est toujours défini lorsque l'opération est terminée.

  • Lors de l'exécution des commandes DAPC, FIXER NIVEAU D'ALIMENTATION ET DTR0 (et d'autres instructions), la pile n'a pas terminé le processus Identify device, maintenant la pile termine le processus.

  • Les commandes RECALL MIN LEVEL et RECALL MAX LEVEL fixaient toujours le niveau de lumière réel à la même valeur, quel que soit l'état d'initialisation. Désormais, ces deux commandes fixent le niveau de lumière réel à PHM et 100% respectivement si l'état d'initialisation n'est pas DISABLED.

  • Lors d'une opération de variation où le targetLevel était déjà atteint, le nouvel actualLevel n'était pas recalculé mais était quand même défini, maintenant le nouvel actualLevel n'est défini que si le targetLevel n'a pas encore été atteint.

  • Dans gear_init_after_power_cycle(), le targetLevel était déjà défini en fonction du powerOnLevel, maintenant le targetLevel n'est défini qu'après la fin du power-on time, en même temps que le actualLevel.

  • La pile ne faisait pas la différence entre l'échec total de la lampe et l'échec partiel de la lampe, maintenant l'application peut indiquer l'état respectif à la pile et la pile définit les variables lampFailure et lampOn en conséquence.

  • Les temps de variation de fastFadeTime étaient extraits du tableau 1 de la norme CEI 62386-207:2009, la pile peut désormais utiliser les temps de variation du tableau 1 de la norme CEI 62386-207:2018, commutables au temps de compilation via le nouveau define introduit.

  • Si le startTimeOffset était supérieur au currentTime, l'heure de début était mal calculée pour la procédure power-on sur les gears et pour la notification de power cycle sur les contrôleurs d'application ; désormais, l'heure de début est calculée correctement avec wrap-around.

  • Si un system failure se produisait pendant le power-on time, la procédure de power-on n'était pas annulée, maintenant la pile annule la procédure de power-on si un system failure est détecté.

  • Les avertissements du compilateur IAR ont été corrigés

  • Si minLevel et targetLevel étaient à 1, la pile mettait targetLevel à 0 lors de l'exécution de la commande STEP DOWN, maintenant targetLevel reste à 1 dans ce cas.

  • Lors de l'exécution de la commande GO TO SCENE (MASK), powerCycleSeen n'était pas réinitialisé, maintenant la pile définit powerCycleSeen sur FALSE même si sceneLevel est égal à MASK.

  • Si la commande DAPC (MASK) était traitée pendant la procédure power-on, la procédure power-on se poursuivait sans changement, maintenant la pile interrompt la procédure power-on lors du traitement de la commande DAPC (MASK).

  • La première étape de variation d'une opération de variation était effectuée 10 ms après le début, même si le stepTime était nettement plus petit ; maintenant, au début de l'opération de variation, le pilote de bas niveau demande une image d'état en 2 ms, de sorte que si le stepTime est faible, la première étape de variation est effectuée après 2 ms.

  • Dans le cas de la gradation haute résolution, le niveau de lumière recalculé était transmis à l'application chaque fois que le timingHelper était appelé. Désormais, la pile ne transmet le niveau de lumière recalculé à l'application que si le niveau de lumière a changé.

  • Les actions internes étaient rejetées pendant la coupure de l'alimentation du bus ou la défaillance du système ; désormais, les actions internes sont également exécutées pendant la coupure de l'alimentation du bus ou la défaillance du système.

  • Si plusieurs instances de la pile étaient lancées sur une unité de bus, elles n'étaient pas prises en compte lors de l'initialisation ; désormais, lors de l'initialisation d'une instance de la pile, les instances déjà actives sont prises en compte et les valeurs correspondantes sont mises à jour dans leur Memory Bank 0.

  • Les avertissements du compilateur Keil ont été corrigés


Version 1.9
2021-10-21

Nouvelle fonctionnalité :

  • De nouvelles actions internes ont été introduites, qui permettent de lire ou de modifier les variables d'exploitation de la pile

  • Un nouveau paramètre de configuration a été introduit afin de pouvoir régler le délai de sauvegarde des données persistantes entre 0 et 29 secondes.

  • Les fonctions de rappel fAppLoadModuleMem et fAppSaveModuleMem passent désormais le pointeur vers l'instance de la pile et la version du bloc mémoire en paramètre.

Fixe :

  • Lors du traitement de la commande RESET, le mécanisme de mémoire persistante est désormais déclenché.

  • L'action DALILIB_REACT_INTERNAL_CTRL_DEVICE_DEFAULT_PERS_MEMORY est désormais appliquée aux blocs de mémoire.

  • Avant d'enregistrer les blocs de mémoire, le système vérifie que l'appareil est configuré en conséquence et qu'il utilise effectivement ce bloc.


Version 1.8
2021-08-06

Nouvelle fonctionnalité :

  • Un nouveau mécanisme de stockage des données persistantes a été introduit. Les données persistantes sont désormais stockées dans des modules séparés les uns des autres. Pour cela, de nouvelles fonctions de rappel fAppLoadModuleMem et fAppSaveModuleMem sont disponibles et la structure interne des données a été adaptée. Un nouveau paramètre de configuration savePersistentModules a été introduit pour activer le nouveau mécanisme de sauvegarde des données persistantes. L'ancien mécanisme peut toujours être utilisé

Fixe :

  • Le comportement lors de l'envoi de trames de test a été corrigé

  • Lors de la réception d'une collision de bus, toute collision existante est signalée à l'application comme terminée avant que la nouvelle collision ne soit signalée.

  • Le temps d'attente de la notification du cycle d'alimentation est désormais fixé à une valeur comprise entre 1300 et 4900 ms, avec une distribution uniforme et continue.


Version 1.7
2021-06-24

Nouvelle fonctionnalité :

  • Le mot-clé C++ "using" a été remplacé par isUsed dans la structure dali_instance_t.

Fixe :

  • Un paramètre de temps a été ajouté à l'interface du pilote LowLevel afin de pouvoir déterminer les timeouts des Send Twice Frames selon la norme

  • Le nouveau paramètre de temps du cadre est utilisé pour calculer le délai d'attente.

  • Le délai d'attente de Send Twice Frames a été augmenté à 102ms

  • La commande ENVOYER TESTFRAME est maintenant traitée et les trames de test sont envoyées en conséquence.

  • Dans la banque de mémoire 201, il est désormais possible d'écrire sur les cellules inscriptibles

  • Le traitement de la commande DIRECT WRITE MEMORY a été corrigé

  • Lors de l'exécution des commandes QUERY CONTENT DTR2 et DTR2:DTR1, writeEnableState n'est plus réinitialisé.

  • Lors du traitement de la commande VERIFY SHORT ADDRESS, le masque ShortAddress est désormais appliqué et la commande est éventuellement rejetée.

  • Lors du traitement de la commande ENABLE INSTANCE, le système vérifie si la pile est configurée en tant que contrôleur d'application, afin d'omettre la suite du traitement le cas échéant.

  • Les commandes d'instance sont désormais rejetées par la pile conformément à l'amendement 1 de la partie 103 si elle est configurée en tant que contrôleur d'application.

  • Les commandes réservées par défaut sont désormais correctement reconnues et rejetées


Version 1.6
2021-05-20

Fixe :

  • L'InitialisationState est désormais réinitialisé à la fin de la période d'initialisation, même s'il est défini sur WITHDRAWN.

  • La commande INITIALIZE n'écrase plus l'InitialisationState lorsqu'il est défini sur WITHDRAWN.

  • L'incrémentation de DTR0 lors de l'exécution des commandes ECRITURE MEMOIRE CELL ou LECTURE MEMOIRE CELL a été corrigée et est désormais effectuée par défaut.


Version 1.5
2021-05-10

Nouvelle fonctionnalité :

  • L'enregistrement des données persistantes lors des changements de valeur des variables persistantes se déclenche désormais 29 secondes après le premier changement de valeur

Fixe :

  • Le dépassement du compteur de temps était erroné et a été corrigé

  • Le compteur de temps pour la durée de la démo était erroné et a été corrigé

  • Lors de l'exécution de la commande RESET, l'initialisationState n'est désormais plus réinitialisé par défaut.

  • Le numéro de la banque de mémoire de l'extension D4i Part 351 a été corrigé à 201


Version 1.4
2021-03-31

Nouvelle fonctionnalité :

  • Les extensions D4i peuvent désormais être activées/désactivées au moment de la compilation.

  • Ajout de nouvelles actions pour définir le niveau de lumière avec des valeurs brutes

Fixe :

  • La valeur de retour de fAppSend est maintenant évaluée et, en cas d'erreur, R_DALILIB_BUSY est renvoyé à l'application.

  • Le contrôle des Send Twice Frames a été adapté, un nouveau timeout DALI_SEND_TWICE_TIMEOUT a été introduit

  • La modification de la valeur d'une variable persistante déclenche désormais immédiatement l'enregistrement des données persistantes.

  • La création du cadre pour l'événement POWER NOTIFICATION était incorrecte et a été corrigée par défaut.

  • Les commandes adressées à un groupe sont désormais exécutées lorsque le groupe est défini.

  • L'incrémentation de DTR0 lors de l'exécution des commandes ECRITURE MEMOIRE CELL ou LECTURE MEMOIRE CELL a été corrigée et est désormais effectuée par défaut.


Version 1.3
2021-03-08

Nouvelle fonctionnalité :

  • Les extensions D4i (Parts 250, 251, 252, 253 et 351) sont prises en charge par la pile.

  • Ajout d'un nouveau paramètre de configuration savePersistentOnInit. Lorsque la mémoire persistante est réinitialisée, elle est directement enregistrée en fonction de savePersistentOnInit.

  • Une nouvelle action interne Gear et Device a été introduite pour demander un buffer avec les données par défaut de la mémoire persistante.

Fixe :

  • Les commandes avec adressage d'instance "Device" sont désormais acceptées et traitées

  • En mode quiescent, les forward frames ne sont plus envoyés.

  • Si la pile attend une réponse W, mais reçoit une commande, l'application est alors informée de l'absence de réponse.

  • La pile répond maintenant à la commande TYPE D'INSTANCE RECHERCHE uniquement si elle est configurée comme périphérique d'entrée

  • Correction des avertissements générés par le drapeau de compilation -Wextra

  • Le niveau cible des gears est désormais mis à 0 sans fading lorsqu'une commande DAPC 0 est reçue.

  • Le buffer pour les fonctions de rappel fPAppSaveMem et fPAppLoadMem a été augmenté à 512 octets et le paramètre nSize a été augmenté de uint8_t à uint16_t.

  • Les fonctions de rappel fPAppSaveMem et fPAppLoadMem transmettent désormais la taille totale du buffer à l'application

  • La pile ne répond à la commande QUERY FEATURE TYPE que si elle est configurée en tant que périphérique d'entrée.

  • Les avertissements du compilateur IAR ont été corrigés


Version 1.2
2020-07-15

Nouvelle fonctionnalité :

  • Ajout d'actions pour la communication avec DT8 Gears

  • Ajout d'une directive C++ dans libdali.h

  • Les collisions sur le bus DALI sont signalées à l'application.

  • Les fichiers source ont été déplacés dans un nouveau sous-répertoire "src" et les fichiers d'en-tête dans un nouveau sous-répertoire "inc".

  • Fichiers source Doxygen ajoutés dans un nouveau sous-répertoire "dali_lib_documentation

  • Implémentation de l'envoi et de la réception de trames propriétaires d'une longueur de 40 à 64 bits.

  • Les banques de mémoire spécifiques aux fabricants peuvent désormais être créées par l'application.

  • Ajout d'actions pour définir les variables gear powerOnLevel, systemFailureLevel, lastLightLevel, targetLevel et lastActiveLevel.

  • L'autorisation d'actions pendant un DALI-Bus-SystemFailure est maintenant configurable

  • Actions pour les commandes de périphérique READ NEXT MEMORY CELL, WRITE NEXT MEMORY CELL, QUERY MISSING SHORT ADDRESS, QUERY CONTENT DTR0, QUERY CONTENT DTR1, QUERY CONTENT DTR2 et QUERY QUIESCENT MODE ont été ajoutées.

  • Ajout d'actions pour la communication avec les périphériques de capteurs de luminosité et d'occupation.

Fixe :

  • Les réponses aux actions QUERY NEXT DEVICE TYPE et QUERY MISSING SHORT ADDRESS sont désormais transmises à l'application.

  • Les réponses aux commandes GEAR_CMD_DTR2, GEAR_CMD_QUERY_CONTENT_DTR0, GEAR_CMD_QUERY_CONTENT_DTR1 et GEAR_CMD_QUERY_CONTENT_DTR2 sont désormais correctement évaluées.

  • Les séquences de commande des actions DALILIB_ACT_CTRL_GEAR_WRITE_MEMORY_CELL, DALILIB_ACT_CTRL_GEAR_LED_SELECT_DIMMING_CURVE et DALILIB_ACT_CTRL_GEAR_LED_SET_FAST_FADE_TIME étaient erronées et ont été adaptées au standard DALI.

  • Correction des avertissements générés par le drapeau de compilation -Wextra

  • Les événements reçus avec le schéma "Device/Instance" sont désormais correctement transmis à l'application.