​ ​ ​ ​ Comment gérer en RAM et stocker en EEPROM un grand nombre de données ?
Results 1 to 5 of 5

Thread: Comment gérer en RAM et stocker en EEPROM un grand nombre de données ?

  1. #1
    New Member
    Join Date
    May 2016
    Location
    Suisse
    Posts
    7

    Question Comment gérer en RAM et stocker en EEPROM un grand nombre de données ?

    Bonjour,

    Dans le cadre du développement de mon réseau de train, j'ai besoin de stocker beaucoup de données et de variables en EEPROM.
    Avec un langage comme C++ ou java, j'aurais créé des tableaux pour manipuler mes données mais avec le langage BASIC des PICAXE, je ne sais pas comment faire et je ne sais pas si cela soit possible.

    Petite remarque : Souvent dans les forums, on aime pas trop lorsque les gens mettent des couleurs dans les textes, j'ai l'habitude de mettre toujours mes questions en couleur bleue, cela aide les personnes qui lisent mes posts de repérer tout de suite les questions, alors ne m'en voulez pas trop si je mets un peu de couleur .

    J'ai besoin de beaucoup de données car j'aimerais stocker, par exemple, pour la gestion de ma gare qui compte une 20aine d'aiguillages (5 info pas aiguillage), des feux de signalisation, des états X,Y,...et d'autres informations.
    Ces données je dois les avoir en temps réel dans la carte (le programme) qui gère la gare, comment faire ?

    Mise à part mon problème spécifique, a-t-on la possibilité de gérer des tableaux, ou plutôt sous quelle forme, car j'ai lu dans la documentation les fonctions table, readtable,... mais elles servent à manipuler les données en EEPROM ?

    Merci pour vos réponses et à tout bientôt.
    dbe8f

  2. #2
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,920

    Default

    Bonjour,

    Stocker des données en EEPROM ne pose pas de problème. par contre la manipulation n'est pas facile, le picaxe ne gérant pas les tableaux à N dimensions.
    selon le type de picaxe, il est possible de rapatrier l'eeprom en RAM avec tablecopy par exemple.
    Une petite macro peut également faciliter l'accès aux données : donnée(x,y) , x étant un pseudo pointeur de ligne définissant l'adresse du bloc et y, le rang dans ce bloc.
    Mais tout ceci est à définir en fonction du picaxe, du type de données (byte ou word), du volume de données, réactualisées ou non, du traitement, et de sa fréquence.
    Il me semble que l'ami Besqueut avait travaillé sur une organisation en tableau ... ?

    A voir un tableau remarquable sur l'organisation mémoire, fait par Westaust55 : http://www.picaxeforum.co.uk/showthr...-Details-Chart
    Last edited by PieM; 06-06-2018 at 16:21. Reason: additif map mémoire
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  3. #3
    New Member
    Join Date
    May 2016
    Location
    Suisse
    Posts
    7

    Default

    Bonsoir PieM,

    Merci pour vos réponses.

    il est possible de rapatrier l'eeprom en RAM avec tablecopy par exemple
    Mais une fois que les données sont en RAM, il faut encore les manipuler avec des variables et là il m'en faut beaucoup, donc pas vraiment possible.
    Je pense qu'il faut une autre solution.

    Excellent tableaux réalisés par Westaust55. Si je compte avec le 28X2, j'arrive à quelque chose comme une 50aine de variables ou un peu plus, cela ne sera de toute façon pas suffisant.

    Je pense que plusieurs PICAXE doivent dialoguer entre eux mais là on se lance dans quelque chose qui est assez volumineux en temps en je n'en n'ai pas beaucoup. Je vais y réfléchir.

    Une question, est-il possible de mélanger des PICAXE et des Arduino ?

    Si oui, je pourrais gérer la gare avec des Arduino et le reste avec des PICAXE. Ainsi je verrais directement les deux technologies (langages).

    Merci pour vos réponses et rien de presse.

    Bonne soirée.
    dbe8f

  4. #4
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,920

    Default

    Bonjour,
    il faut encore les manipuler avec des variables et là il m'en faut beaucoup, donc pas vraiment possible.
    les M2 comportent 512 bytes de RAM. les 28X2 et 40X2 en comportent 1280, accessibles via un pointeur. (voir bptr et @bptr)
    D'autre part, je pense que de nombreuses infos sont du type variables booléennes. En se réservant les variables b0 à b3 pour rapatrier les données mémorisées, on a un accès individuel à chacun des 32 bits.

    Quant à échanger des infos entre différents types de µC il n'y a aucun problème , chacun utilisant des données du type byte pouvant être transmises via l'USART ou l'I2C.

    Voir ce qui a été fait dans un autre fil.: http://www.picaxeforum.co.uk/attachm...9&d=1425046799
    http://www.picaxeforum.co.uk/showthr...%E0-pas/page51
    http://www.picaxeforum.co.uk/showthr...n-%E9lectrique
    Last edited by PieM; 08-06-2018 at 09:13.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  5. #5
    Senior Member
    Join Date
    Sep 2011
    Location
    Montpellier (FRANCE)
    Posts
    2,797

    Default

    Quote Originally Posted by dbe8f View Post
    Une question, est-il possible de mélanger des PICAXE et des Arduino ?
    Oui : tout à fait, ne serait-ce que via un port série.
    Cela dit, c'est tout un monde, et en particulier, plus de BASIC (même si le BASIC du Picaxe est un peu particulier).
    Pour ma part, je pense que c'est jouable en Full Picaxe, avec sans doute une eeprom Externe.

    Il faudrait être un peu plus précis sur votre cahier des charges :
    - combien d'aiguillages ? Quels sont les infos possibles pour chaque ?
    - idem pour tous les autres objets à gérer ? Nombre de chaque type ? Booléen ? mini ? maxi ?

    Evidemment, vous ne savez pas encore tout, mais donnez un ordre de grandeur et/ou un maximum.

    Avec ça, on saura la quantité de mémoire à prévoir.
    Pour quelques euros il y a ça.
    Plus performant, mais évidement plus cher : FRAM


    Ensuite, il y a l'interface utilisateur :
    - interrupteur ?
    - boutons rotatifs ?
    - LEDs ?
    - Afficheur LED (nombre) ?
    - afficheur LCD ? -ou OLED) ?
    - lien vers un ordi ? Vers Androïd ?

    Si on reste dans des choses mécaniques (interrupteur, bouton rotatif) chacun est-il dédié à une et une seule fonction, ou bien y a-t-il partage? exemple :
    - un bouton rotatif pour la vitesse de chaque motrice ?
    - ou bien un commutateur pour choisir la motrice, et un seul bouton pour régler la vitesse .

    Autre exemple :
    - un (ou plusieurs) inters par aiguillage ?
    - ou bien un moyen de choisir l'aiguillage, puis une seule commande commune ?

    Si Ordi et/ou Androïd, est-ce en plus ou à la place de commandes mécaniques ?

    Avec ça, on pourra dire si ça passe sur un ou plusieurs Picaxes et/ou s'il faut prévoir des trucs en plus...
    Last edited by BESQUEUT; 09-06-2018 at 17:18.
    There are 10 types of people in the world: those who understand binary, and those who don't.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •