You are on page 1of 9

Custom Component

Creation tutorial
Subject: DS3231 RTCC

General Information
Gathering Information
Configuring Component Properties
Creating Property Events
Creating a Downloadable Macro
Export Your Component
Thanks For Reading

3
4
5
6
8
9
11

Informations Gnrales
Depuis flowcode v6 est sorti, la possibilit de crer facilement des composants est vrai. Cependant, il
ya encore quelques obscurits sur les procs de la cration de composants. Ce est pourquoi je cre
ce tutoriel parce que je pense que la cration de composants est facile. Bien sr, vous devez savoir
comment vous grez les choses, mais ce est ce que ce tutoriel est tout au sujet.
Dans ce tutoriel, je tiens expliquer et discus comment crer un composant partir de zro. Ou vous
voulez juste crer un composant juste parce que vous voulez contribuer la communaut fl owcode.
Quoi qu'il en soit, dans ce tutoriel, nous allons discus l'appareil suivant: DS3231 ce dispositif est un
RTCC extrmement prcis (Real Time Clock Calendrier). Le DS3231 utilise le bus I2C pour la
communication. Ce composant doit fournir toutes les fonctionnalits de l'appareil afin que
l'utilisateur final peut obtenir le maximum de l'appareil.

Collecte de l'information
Nous allons crer la composante de la feuille de donnes de l'appareil. Il a recommand pour sa soit
avoir deux moniteurs, cran partag ou tout simplement pour imprimer la feuille de donnes. Je
prfre utiliser deux moniteurs, mais ce choix ce est vous de faire.
Dans la feuille de donnes, les fonctionnalits de l'appareil sont lists (la plupart du temps), pour le
DS3231 ces caractristiques sont:
Horloge en temps rel compte les secondes, minutes, heures, jour, date, mois, anne + Leap Year
Deux alarmes Temps de journe
Sortie programmable rectangulaires
sortie du capteur de temprature numrique
Vieillissement Garniture registre de rglage
Donc, notre composant doit tre capable de grer toutes ces caractristiques, ce nous permet de
dterminer les macros que nous allons avoir besoin pour notre composant:
ReadTime
WriteTime
ReadDate
WriteDate
SetAlarm1
SetAlarm2
GetTemperature
CheckStatus -> parce qu'il ya un registre d'tat disponibles
SetAging -> Cette option ne soit pas besoin d'tre mis en uvre simplement parce qu'un (amateur)
utilisateur normal ne se soucie pas.
Alors, quand nous sommes fi ni avec ce tutoriel, nous avons un composant avec au moins 8
"tlchargeables" macros.
La prochaine tape dans la cration de cette composante est de configurer notre environnement de
travail, nous devons aussi configurer les proprits des composants.

Configurer proprits d'un composant


Avant que nous puissions commencer crer les diffrentes macros, nous devons crer les
proprits du composant.
Les proprits des composants permet le changement d'utilisateur, par exemple; la frquence de
sortie onde carre et les paramtres de bus I2C.
Alors d'abord, nous ouvrons un nouveau programme de fl owcode. Dans ce nouveau programme,
vous devez aller aux proprits du panneau et cliquez sur la flche droulante qui se affiche lorsque
vous placez la souris sur le ct gauche de la barre des proprits.
Vous devez alors slectionner ce que vous voulez faire. Pour conserver tout gentil et organis, nous
devons crer certaines catgories. Les catgories que je ai crs sont:
Options diverses
Sorties d'alarme
Paramtres de bus (copi)
Connexions (copi)
Simulation (copi)

Mais ce ne est totalement vous comment vous voulez aborder ce. Ensuite, nous devons ll fi chaque
catgorie avec des options utilisateur accessible en criture pour les Options diverses:
sortie d'onde carre
- Dsactiver
- 1 Hz
- 1.024 kHz
- 4,096 kHz
- 8.192 kHz
Activer 32 kHz Sortie
- Oui
- Pas
Jour de la semaine Valeur de retour
- Premire Lettre (S = dimanche, lundi ... M = S = samedi)
- Les trois premiers caractres (Sun = dimanche, lundi = lundi ... sam = samedi - Mot entier
(dimanche, Momday ... samedi)
Alarme Interruption Activer
- Oui (sortie dsactive onde carre et par dfaut sur Dsactiv)
- Non (Active sortie d'onde carre)
Ensuite, nous devons fi ll la catgorie pour des options d'alarme:
Alarme 1 Taux (voir fiche de donnes page.12)
Alarme 2 Taux (voir fiche de donnes page.12)

Ensuite, nous devons fi ll chaque catgorie avec des options utilisateur accessible en criture pour les
paramtres de bus, Connexions et Simulation nous pouvons simplement les copier partir de la
composante de base I2C. Cette action peut tre prform en faisant les mmes actions que la
cration de nouvelles catgories, mais puis slectionnez Copier dans .... Lorsque vous avez insr le
composant I2C dans votre tableau de bord, cette option est disponible pour copier.

Cration de proprit Evnements


Lorsque vous avez fait cela et vous tes satisfait fi avec le rsultat ce jour, nous pouvons
commencer crer un peu de code relle. La prochaine tape est de se assurer lorsque l'utilisateur
de la composante change un des paramtres de bus lis alors ce changement doit r fl chir la
composante de base pour fonctionner correctement ceux compils.
Pour ce faire nous avons besoin de crer une macro d'vnement. Cela peut tre fait en allant
l'explorateur de fl owcode du projet. En haut de cette fentre, vous pouvez cliquer sur le bouton de
l'vnement.
Comme vous pouvez le voir, vous avez beaucoup d'vnements partir de choix, mais nous sommes
seulement intresss par les vnements de composant li. Et nous voulons crer un vnement
chaque fois que l'utilisateur modifie une proprit de ce composant.

Par consquent, vous devez connecter Double-cliquez sur la proprit Tag Situ dans la section
Composants de l'arbre de l'vnement.
Ceux que vous-avez fait cela, fl owcode crera automatiquement une nouvelle macro appele
Ev_Property. Dans cette macro nous allons crer un code Certains qui va tre excut chaque that
the o change des proprits du composant d'utilisateur.

Toutes les macros dans la macro Ev_Property sont des macros de simulation.
Comme vous pouvez le voir, il ya trois paramtres pour la fonction de simulation
Property.CopyValue.
La fi premire copie macro est une valeur provenant d'une source (ce) une des destinations
(I2C_Master1) et la valeur est CHANNEL. Si nous choix d'utiliser le canal matriel pour notre bus I2C
alors ce doit galement Par exemple, pour tre applique (dit) la composante I2C_Master1.
Disons donc que nous voulons utiliser le canal de matriel pour notre composant I2C_Master1,
normalement la proprit connexions de la composante I2C_Master1 sera gris et configur pour ne
pas crire.
Cependant, notre composante ne le sait pas. Par consquent, nous devons prendre une dcision si le
canal est mis zro (Hardware Channel), alors nous devons faire de la proprit de connexion sans
criture en gris, tout comme dans le composant I2C_Master.
Aussi, nous devons afficher les connexions correctes. Alors d'abord les deux macros de simulation
dfinissent la proprit SDA et SCL inscriptible = False (0).

Les deux dernires macros de simulation copier est la valeur de la proprit SDA et SCL dans notre
composant de sorte que les connexions de nos matchs de composant ne de la composante
I2C_Master1.
Si le canal est rgl sur autre chose que zro, alors l'inverse est vrai. La proprit SDA et SCL
deviennent criture et de copie est la port.pin choisi de la composante I2C_Master1.
Cette methode peut tre appliqu tous les autres paramtres de bus lis.
L'autre chose que nous devons prendre soin de est le fl it con qui est possible si la proprit sortie
Square-ondes Activer est rgl sur autre chose que les handicaps et alarme validation d'interruption
est rgl vrai.
Cela doit tre vite car est CAN / conduira des donnes errones crites au DS3231.
Nous devons crer quelque chose quand interruption d'alarme Activer est dfinie sur true, la
proprit Square-ondes Activer besoins d'tre non-criture et la valeur par dfaut doit tre rgl sur,
handicaps.

Alors, quand AlarmInt (variable lie l'alarme d'interruption Enable) est dfinie sur true (1), alors
nous devons dfinir la valeur de la poigne de cette (qui est notre composant) avec la proprit SQW
false (0).
Si nous ne aurions d'abord utiliser la simulation macro alors la valeur de SQW est rgl sur Dsactiv
chaque fois que nous activer l'alarme d'interruption Activer pour vrai. Le seul problme est que
l'utilisateur peut toujours modifier la proprit SQW une valeur qu'il dsire. Pour viter cela, nous
devons dfinir cette proprit sur criture = False.
Qui peut tre vu dans la seconde macro.

Cration d'une macro Tlchargeable


Une macro tlchargeable est ce que son nom l'indique, une macro qui sera tlcharg ou compil
en code pour votre appareil. Pour le Ness complte de ce tutoriel, je vais vous expliquer comment je
ai cr une macro. Je ne vais pas dcrire toutes les macros pour ce composant, car cela ne contribue
pas ce tutoriel simplement parce que tous les macro sont construire de la mme faon.
Pour crer une macro tlchargeable suffit de cliquer sur l'icne de la macro dans la fentre de
l'explorateur de projet.
Vous pouvez dj voir quelques-unes des macros que je ai cr la macro je vais vous expliquer en
profondeur est la macro ReadTemperature.

Avant que nous puissions commencer crire du code pour cette macro nous avons besoin de
certains paramtres afin que l'utilisateur peut slectionner le type de valeur de retour qu'il dsire
pour son application. Paramters:
AddSign
- True (1) = va ajouter un + / - signe la valeur de sortie
- Faux (0)
ValueType
- Raw (0) = valeur de capteur Raw sera retourn l'utilisateur
- Calcul (1) = La valeur du capteur calcul sera renvoy l'utilisateur
Unit
- Celsius (0) = La valeur calcule sera retourn au format Celsius
- Fahrenheit (1) = La valeur calcule sera retourn au format Fahrenheit
Retour:
String = Ensemble avec tous les paramtres la valeur sera retourne comme une variable de chane
La fonction de la temprature macro de lecture sera de rcuprer les informations de temprature
mmorise dans la DS3231. L'information se compose d'une valeur de 10 bits, cette valeur peut tre
lu partir des registres 0x11 et 0x12. Depuis le DS3231 incrmente son pointeur de registre
automatiquement nous avons juste spcifier quel registre nous voulons commencer lire partir
de ce cas est 0x11.
Puisque ce ne est pas un des tutoriels de programmation Je ne entrerai pas dans la spci fi cs de la
faon de communiquer avec le DS3231.
Avec les diffrents paramtres que vous avez crs, vous pouvez crer la valeur de sortie en
consquence.
Pour affecter la valeur de sortie (qui est de type chane de caractres), vous ne avez qu' vous
affecter variable vers la variable .Retour.

Exportez vos composants


Lorsque vous avez test composant ou vous voulez regarder annonce le comportement du
composant lorsqu'il est charg comme une composante in fl owcode, vous devez exporter cette
composante.
Pour exporter le composant que vous avez prendre un certain nombre de mesures.
1. Aller en haut de l'cran et slectionnez Fichier ... et slectionnez Exporter ... Composante de cette
liste
L'cran suivant se affichera,

La plupart des options parlent pour eux les deux paramtres auto plus importent sont situs sous
l'onglet Avanc (sous le nom du composant) et Interface. ce que vous voyez dans l'onglet Avanc au
fond est la proprit GUID. Au moment o vous voulez crer la version fi premire de la composante,
vous obtiendrez un GUID alatoire attribu, mais quand vous voulez exporter davantage version du
mme composant ce GUID doit pas tre modifi. Lorsque cela se produit la composante se trouve
dj dans la bibliothque de composants de fl owcode ne met pas jour la dernire version la
place vous Het du mme composant dans la bibliothque mais la version est diffrente.
Puis juste avant que vous voulez exporter vous composant que vous souhaitez spcifier laquelle des
macros sont faites pour tre tlcharg et que l'on doit tre cach de l'utilisateur.
Par exemple, le Ev_Property doit tre cach l'utilisateur car il l'habitude de travailler sur vous
microcontrleur de toute faon, et il faudra probablement signaler une erreur de compilation.
Par exemple, les macros telles que ReadTemperature doit tre tlchargeable parce que vous voulez
que ce code fonctionne sur vous matriel.

Comme vous pouvez voir CheckStatus est une macro cach parce que je ne ai pas termin cette
macro afin que l'utilisateur de ce composant n'a pas besoin de voir cette macro. Tous les autres
macros avec une macro symbole jaune sont tlchargeables. Ces macro peut tre utilise dans un
autre programme de owcode fl dans la faon dont vous tes habitu.

Merci pour la lecture


Donc les gens ce est tout que je ai dire pour l'instant sur la cration composant.
Ce ne est pas difficile faire, il vous suffit de simplement le faire, d'exprimenter avec diffrents
rglages et les macros d'vnements, pour voir ce qu'ils font.
Je espre qu'il ya une partie de la cration de composants sont discuts dans ce tutoriel et qu'ils o
l'aide complte.
Si il ya quelque chose dans ce tutoriel qui ne est pas vrai, laissez-moi savoir et je vais corriger cette
ASAP.
Il serait vraiment cool de faire toute une gamme de composants raliss par l'utilisateur, je me
souviens Benj parler comme une composante boutique en ligne genre de chose, ce qui serait
vraiment cool.
Quoi qu'il en soit, je vous remercie pour votre temps lire ce tutoriel, et je espre que vous allez
commencer bientt vous dvelopper ses propres composants.
Regards,
Jordy Kleian

You might also like