Liste des fonctions supportées par le module "ROVIN™"En plus des instructions "de base" communes au développement en langage "C" tels que:
char if struct void short else union
return int switch goto long case float
default continue double while for do signed
unsigned break include define undef
Le compilateur "ROVIN-C" dispose également de
220 fonctions particulières qui vous permettrons d'accélerer vos phases de développement de façon très significative.
Gestion du mode Débug
|
DebugPrint DebugClear CounterCount DebugCHAR DebugSHORT DebugINT DebugLONG DebugFLOAT DebugLONG |
Affiche des caractères issus du ROVIN™ dans le fenêtre Debug du PC Efface le contenu de la fenêtre Debug du PC Configure Nb comptages avant génération interruption Affiche variable char / unsigned char (hex ou déc.) dans fenêtre Débug Affiche variable short / unsigned short char (hex ou déc.) dans fenêtre Débug Affiche variable int / unsigned int char (hex ou déc.) dans fenêtre Débug Affiche variable long / unsigned long char (hex ou déc.) dans fenêtre Débug Affiche variable float char (en hexa ou décimal.) dans fenêtre Débug Affiche variable double char (en hexa ou décimal) dans fenêtre Débug |
Gestion de la mémoire "Ram - XHeap" (partageable entre les tâches)
|
HeapWrChar HeapWrShort HeapWrInt HeapWrLong HeapWrDouble HeapRdrChar HeapRdrShort HeapRdrInt HeapRdrLong HeapRdrDouble HeapBufWrite HeapBufRead HeapClear HeapFill |
Ecrit donnée type Char (1 octet) en mémoire RAM - XHeap Ecrit donnée type Short (2 octets) en mémoire RAM - XHeap Ecrit donnée type Int (4 octets) en mémoire RAM - XHeap Ecrit donnée type Long (8 octets) en mémoire RAM - XHeap Ecrit donnée type Double (8 octets) en mémoire RAM - XHeap Lit donnée type char (1 octet) en mémoire RAM - XHeap Lit donnée type Short (2 octets) en mémoire RAM - XHeap Lit donnée type Int (4 octets) en mémoire RAM - XHeap Lit donnée type Long (8 octets) en mémoire RAM - XHeap Lit donnée type Double (8 octets) en mémoire RAM - XHeap Ecrit "buffer mémoire" en RAM - XHeap Lit "buffer mémoire" en mémoire RAM - XHeap Efface une partie de la mémoire RAM - XHeap (la remplie avec "00") Remplit une partie de la mémoire RAM - XHeap avec une valeur "type" |
Gestion de la mémoire "EEprom"
|
EepSetAdr EepWrite EepRead EepBufWrite EepBulkWrite EepWrChar EepWrShort EepWrInt EepWrLong EepWrDouble EepRdrChar EepRdrShort EepRdrInt EepRdrLong EepRdrDouble EepFill |
Détermine l'adresse de la mémoire EEprom à laquelle on veut lire ou écrire Ecrit un octet en mémoire EEprom et incrémente l'adresse de pointage Lit un octet en mémoire EEprom et incrémente l'adresse de pointage Remplit un buffer temporaire destiné à être transféré en EEprom d'un "bloc" Transfert d'un "bloc" le buffer temporaire en mémoire EEprom Ecrit donnée type Char (1 octet) en EEprom et incrémente l'adresse de pointage Ecrit donnée type Short (2 octets) en EEprom et incrémente l'adresse de pointage Ecrit donnée type Int (4 octets) en EEprom et incrémente l'adresse de pointage Ecrit donnée type Long (8 octets) en EEprom et incrémente l'adresse de pointage Ecrit donnée type Double (8 octets) en EEprom et incrémente adresse de pointage Lit donnée type char (1 octet) en EEprom et incrémente adresse de pointage Lit donnée type Short (2 octets) en EEprom et incrémente adresse de pointage Lit donnée type Int (4 octets) en EEprom et incrémente adresse de pointage Lit donnée type Long (8 octets) en EEprom et incrémente adresse de pointage Lit donnée type Double (8 octets) en EEprom et incrémente adresse de pointage Remplit une partie de l'emplacement EEprom (1 à 4096) avec une certaine valeur |
Gestion des entrées/sorties des ports PA / PB / PC / PD
|
PPI_SetMode PPI_GetMode PPI_SetBit PPI_GetBit PPI_Out PPI_In PPI_BitOut PPI_BitIn |
Configure les broches d'un port en entrée ou en sortie Récupère la configuration (entrée ou sortie ?) des broches d'un port Configure une broche d'un port en entrée ou en sortie Récupère la configuration (entrée ou sortie ?) d'une broche d'un port un octet sur un des ports du ROVIN™ Lit un octet depuis un des ports du ROVIN™ Place une broche d'un des ports du ROVIN™ à 0 ou 1 Lit l'état (0 ou 1) d'une broche d'un des ports du ROVIN™ |
Gestion des entrées/sorties des ports EXPA / EXPB / EXPD
|
PortSetMode PortGetMode PortSetBitMode PortGetBitMode PortOut PortIn PortBitOut PortBitIn |
Configure les broches d'un port en entrée ou en sortie Récupère la configuration (entrée ou sortie ?) des broches d'un port Configure une broche d'un port en entrée ou en sortie Récupère la configuration (entrée ou sortie ?) d'une broche d'un port Place un octet sur un des ports du ROVIN™ Lit un octet depuis un des ports du ROVIN™ Place une broche d'un des ports du ROVIN™ à 0 ou 1 Lit l'état (0 ou 1) d'une broche d'un des ports du ROVIN™ |
Gestion des signaux PWM
|
Pwm0_set Pwm0_Duty Pwm0_On Pwm0_Off Pwm1_set Pwm1_Duty Pwm1_On Pwm1_Off Pwm1_AllOn Pwm1_AllOff Pwm2_set Pwm2_Duty Pwm2_On Pwm2_Off Pwm3_set Pwm3_Duty Pwm3_On Pwm3_Off Pwm3_AllOn Pwm3_AllOff |
Configure le mode et la fréquence du signal PWM0 (ce dernier est de type 8 bits) Détermine le rapport cyclique du signal PWM0 (0 à 255) Active la génération du signal PWM0 Désactive la génération du signal PWM0 Configure mode et fréquence des 3 signaux PWM1A/B/C (de type 8 à 16 bits) Détermine le rapport cyclique des signaux PWM1A/B/C (0 à 2 puis. 16) Active la génération du signal d'un canal PWM1A ou PWM1B ou PWM1C Désactive la génération du signal d'un canal PWM1A ou PWM1B ou PWM1C Active la génération du signal des canaux PWM1A et PWM1B et PWM1C Désactive la génération du signal des canaux PWM1A et PWM1B et PWM1C Configure le mode et la fréquence du signal PWM2 (ce dernier est de type 8 bits) Détermine le rapport cyclique du signal PWM2 (0 à 255) Active la génération du signal PWM2 Désactive la génération du signal PWM2 Configure mode et fréquence des 3 signaux PWM3A/B/C (de type 8 à 16 bits) Détermine le rapport cyclique des signaux PWM3A/B/C (0 à 2 puis. 16) Active la génération du signal d'un canal PWM3A ou PWM3B ou PWM3C Désactive la génération du signal d'un canal PWM3A ou PWM3B ou PWM3C Active la génération du signal des canaux PWM3A et PWM3B et PWM3C Désactive la génération du signal des canaux PWM3A et PWM3B et PWM3C |
Gestion des ports séries pour communication "RS-232" (UART)
|
UartSetBaud UartOn UartOff UartTXOn UartTXOff UartRXOn UartRXOff UartWrite UartSetPacketSize UartRxBufRead UartRxBufOut UartRxBufCountRead UartTxBufWrite UartBulkOut UartStringOut UartBufOut UartWrChar UartWrShort UartWrInt UartWrLong UartWrDouble UartEventOn UartEventOff UartBufClear |
Définit vitesse de communication (1200 à 57600 Bps) des 2 "UART" Active indépendamment les 2 "UART" Désactive indépendamment les 2 "UART" Active indépendamment les broches TXD des 2 "UART" Désactive indépendamment les broches TXD des 2 "UART" Active indépendamment les broches RXD des 2 "UART" Désactive indépendamment les broches RXD des 2 "UART" Envoie un octet sur un des 2 "UART" Détermine taille buffer réception générant interruption quand il est plein fRead Récupère les données du buffer de réception d'un des 2 UART Envoi trame de données vers un des 2 UART Donne le nombre de données présentes dans le buffer de réception Ecrit des données dans un buffer temporaire en vue d'une transmission Envoi données du buffer temporaire de transmission vers un des 2 UART Envoi une chaîne de caractères vers un des 2 UART Envoi une suite d'octets vers un des 2 UART Envoi 1 donnée d'1 octet vers un des 2 UART Envoi 1 donnée de 2 octets vers un des 2 UART Envoi 1 donnée de 4 octets vers un des 2 UART Envoi 1 donnée de 8 octets vers un des 2 UART Envoi 1 donnée de 8 octets (avec virgule flottante) vers un des 2 UART Autorise génération interruption si buffer de réception plein Désactive les interruptions (le buffer de réception peut encore recevoir) Efface le contenu du buffer de réception |
Gestion des ports de communication "I2C™"
|
I2CCreate I2CiIn I2COut I2CBitOut SpiBitIn I2cStart I2cStop I2cAck |
Déclaration port I2C™ (jusqu'à 16) et attribution broches en fonction du ROVIN™ Lecture d'un octet depuis un port I2C™ Envoi un octet sur un port I2C™ Envoi de 1 à 64 bits sur un port I2C™ (soit 8 octets à la fois) Lit de 1 à 64 bits depuis un port I2C™ Génère une condition "Start" sur un des ports I2C™ créé Génère une condition "Stop" sur un des ports I2C™ créé Récupère le signal d'aquittement en provenance du composant "esclave" |
Gestion des ports de communication "SPI™"
|
SpiCreate SpiIn SpiOut SpiBitOut SpiBitIn SpiRw SpiCs SpiLatch |
Déclaration port SPI™ (jusqu'à 8) et attribution broches en fonction du ROVIN™ Lecture d'un octet depuis un port SPI™ Envoi un octet sur un port SPI™ Envoi de 1 à 64 bits sur un port SPI™ (idéal pour piloter composant Micro-Wire™) Lit de 1 à 64 bits depuis un port SPI™ Envoi et lit de 1 à 64 bits depuis un port SPI™ Sélectionne le niveau logique de la broche CS d'un port SPI™ Pour pilotage de composants d'extension externes (74HC595, 74HC597, 74HC165) |
Gestion des modes "capture" (mesure de largeurs d'impulsions)
|
CaptureSet CaptureRead CaptureOn CaptureOff |
Configure le mode de fonctionnement des entrées de comptage du ROVIN™ Récupère les valeurs d'impulsions mesurées Active la mesure de largeurs d'impulsions sur une entrée Désactive la mesure de largeurs d'impulsions sur une entrée |
Gestion des entrées "compteurs"
|
CounterSet CounterCount CounterRead CounterOn CounterOff |
Configure compteur (8/16 bits - front mont./desc. - interruption unique/multiple) Configure Nb comptages avant génération interruption Retourne le nombre de comptage avant la génération d'une interruption Active le compteur Désactive le compteur (la broche associée peut être utilisée en E/S standard) |
Gestion des tâches
|
ModuleReset TaskReset |
Reset le module ROVIN™ (équivalent Reset matériel via BP RESET) Reset la TACHE dans laquelle est appelée cette fonction |
Gestion des évènements (interruptions)
|
GetMsg CheckMsg ClearAllMsg EventOn EventOff |
Récupère un message dans la file d'attente (permet d'identifier l'interruption) Récupère la valeur du message dans la file d'atente (sans le retirer de la liste) Efface tous les messages d'interruption de la file d'attente Autorise la génération de tous les EVENEMENTS (interruptions) Désactive la génération de tous les EVENEMENTS (interruptions) |
Gestion entrées de conversion "A/N"
|
AdcSet AdcRead AdcOn AdcOff |
Définition du port de conv. "A/N" à utiliser et du facteur de multiplication Lecture de la valeur analogique Activation des convertisseurs "A/N" Désactivation convertisseurs "A/N" (les broches peuvent être utilisées en E/S) |
Gestion du comparateur analogique
|
AncompSet AncompOn AncompOff |
Configure le comparateur analogique Activation du comparateur analogique Désactive le comparateur analogique |
Calculs et fonctions "mathématiques"
|
abs fabs acos asin atan atant2 cos sin tan cosh sinh tanh exp epX fexp ldexp log log10 logb modf F pow sqrt ceil floor fmod cbrt 3vpX pi e srand rand |
Nombre absolu Nombre absolu (avec virgule flottante) Arc cosinus Arc sinus Arc tangente Double arc tangente Cosinus Sinus Tangente Cosinus hyperbolique Sinus hyperbolique Tangente hyperbolique epX 2pEXPONENT * Y = pX 2pEXPONENT * Y = pX log1(pX) log10(pX) log2(pX) modf(3.14, I); // I = 3, F = 0.14 pXpY Racine carée Arrondi vers le haut Arrondi vers le bas Mod point décimal Racine cubique de la valeur Gestion "pi" avec 3.14159265358979323846 Gestion "e" avec 2.71828182845904523536 Initialise fonction pour génération de nombres aléatoires Génère un nombre aléatoire |
Conversion "numérique -> chaîne de caractères"
|
itoa ltoa ftoa |
Conversion d'une valeur numérique type "int" (sur 4 octets) en une chaîne Conversion d'une valeur numérique type "long" (sur 8 octets) en une chaîne Conversion valeur numérique "long" avec virgule flottante (8 octets) en une chaîne |
Gestion de l'horloge "RTC" et des alarmes
|
RtcSetDate RtcGetDate RtcOn RtcOff RtcEventOn RtcEventOff AlarmSetTime AlarmGetTime AlarmOn AlarmOff |
Configure l'année, le mois, la date, l'heure, les minutes et les secondes Retourne l'année, le mois, la date, l'heure, les minutes et les secondes Active l'horloge RTC (Real Time Clock) Désactive l'horloge RTC (Real Time Clock) Génère des interruptions (EVENEMENTS) toutes les secondes via l'horloge Désactive les interruptions (EVENEMENTS) générés par l'horloge Configure l'heure de l'alarme Récupère l'heure de l'alarme Active le mode Alarme Désactive le mode Alarme |
Gestion des "Timers"
|
Timer_SourceOn Timer_On Timer_Off Timer_SetTime VmTimerSetTime VmTimerGetTime VmTimerOn VmTimerOff VmTimerAutoLoadOn VmTimerAutoLoadOff |
Sélectionne la "mise en fonction" des Timers Active un Timer (permet à ce dernier de générer une interruption) Désactive un Timer (ce dernier ne pourra plus générer d'interruption) Sélectionne durée génération de l'interruption (multiple de 0,01 s) Sélectionne durée génération interruption "VmTimer" (multiple de 0,01 s) Retourne durée restante avant génération de l'interruption "VmTimer" Active Timer "VmTimer" (permet la génération d'interruption) Désactive Timer "VmTimer" (ne pourra plus générer d'interruption) Autorise rechargement valeur initiale si "VmTimer" arrive à zéro Désactivation du rechargement valeur initiale si "VmTimer" arrive à zéro |
Gestion d'afficheurs LCD à commande séries "ALCD"
|
AlcdInit AlcdLocate AlcdPrint AlcdPrintCode AlcdClear AlcdCursor AlcdBlink AlcdCgWrite AlcdBackLight AlcdKey AlcdMode AlcdSetBigFont AlcdPrintBig |
Initialise l'afficheur "ALCD" relié sur un des ports série du module ROVIN™ Place le curseur sur une position (colonne / ligne) de l"écran LCD Ecrit une chaîne de caractères sur l'afficheur LCD Ecrit un caractère ASCII sur l'afficheur LCD Efface l'écran LCD Active / désactive le curseur de l'afficheur LCD Active / désactive le clignotement du curseur de l'afficheur LCD Permet de redéfinir des caractères sur l'afficheur LCD Active / désactive le rétro-éclairage de l'afficheur LCD Supporte les "codes" de touches de déplacement (type traitement texte) Supporte les "codes" Insert/Overwrite (type traitement texte) Permet de passer en "grand" caractère pour l'affichage des nombres Permet d'écrire des chiffres en "grand" caractères sur le LCD |
Génération de "sons"
|
Pwm1_Set Pwm3_Set Pwm1_On Pwm1_Off Pwm3_On Pwm3_Off Sound SoundFreq |
Initialise le canal PWM1 en "SOUND-CHA" pour la génération de sons Initialise le canal PWM3 en "SOUND-CHB" pour la génération de sons Active le canal son "SOUND-CHA" Désactive le canal son "SOUND-CHA" Active le canal son "SOUND-CHB" Désactive le canal son "SOUND-CHB" Génère son sur un des "canaux sons" (suivant octave et tonalité) Génère son sur un des "canaux sons" (suivant une fréquence donnée) |
Gestion de servomoteurs
|
Pwm1_Set(RC) Pwm3_Set(RC) Pwm1_On(RC) Pwm1_Off(RC) Pwm3_On(RC) Pwm3_Off(RC) Pwm1_Duty Pwm3_Duty RcServo_Regulate RcServo_Move |
Initialise les ports PWM1A/B/C pour pilotage de 3 servomoteurs Initialise les ports PWM3A/B/C pour pilotage de 3 servomoteurs Active le signal de pilotage des servos au choix sur les ports PWM1A/B/C Désactive le signal de pilotage des servos au choix sur les ports PWM1A/B/C Active le signal de pilotage des servos au choix sur les ports PWM3A/B/C Désactive le signal de pilotage des servos au choix sur les ports PWM3A/B/C Génère le signal PWM de pilotage de servo sur les ports PWM1A/B/C Génère le signal PWM de pilotage de servo sur les ports PWM3A/B/C Calcul le rapport entre la valeur du signal PWM et les angles des servos Positionne un servomoteur sur un angle donné avec précision max.: 0,03 ° ! |