Imprimer les messages du sujet "Logiciel de gestion de course home made"


Imprimer cette page Fermer cette fenêtre

Posté le 13/04/2015 à 13h55 par LanciaB

Superbe....dommage que ce soit uniquement pour le digital !

J'avais développé en 2007 un soft maison très simple pour la power base RMS Scalextric analogique, en Liberty Basic (je suis un "vieux" programmeur, j'ai commencé sur un.....ZX81).

Ca marchait pas mal...faudra que je le ressorte des tiroirs.

http://www.cigaleslotracing.fr/

Posté le 13/04/2015 à 14h42 par dd32

En fait l'idée de base n'est pas de faire un soft que pour le digital.
J'étais parti dans l'idée de faire un soft pour aller avec la nouvelle PowerBase Scalextric (Arc One) mais en permettant un comptage de plus de deux voies.
Et puis comme je n'ai pas encore la doc du protocole et que j'ai un scalex digital, je me suis dit qu'en attendant ça ferait l'affaire.
Par contre c'est vrai que le digital offre tellement de possibilité au développeur qu'on se dit rapidement que sur de l'analogique on va être bridé. A part compter les tours et une gestion de fuel limitée je n'ai pas vraiment d'idée, on ne peut pas piloter l'alimentation de la piste donc les fonctionnalités sont forcément limitées.

Une fois que j'aurais terminé la v1 en digital SSD j'envisagerais la suite.
Carrera Digital, pourquoi pas de l'analogique (DS racing ou autre je ne sais pas quel système est le plus utilisé), portage sur Android pour les nouvelles PB Bluetooth je ne sais pas trop.
J'aurais plus de temps j'aurais bien réfléchi a faire de l'open source pour que d'autres développeurs viennent mettre leur contribution mais c'est tout de suite un projet d'une autre ampleur. C'est pas tout mais j'ai un vrai travail à côté !

Posté le 13/04/2015 à 14h44 par dd32

Shaken a écrit : Non ce n'est pas un sdk carrera.Mais il est assez complet et avec le retro enginneering des allemands tu peux facilement ajouter tes fonctions.

Ca m'intéresse, tu aurais un lien ?

Posté le 13/04/2015 à 15h10 par kall

Mince comment j'ai pu rater ce post !
Bon il est pas super vieux mais quand même !
Oui car je suis développeur .Net aussi !

En tout cas, bravo pour l'UI très gaming mais très moderne (ça tranche par rapport à l'existant), et la rapidité pour sortir une beta !

- Tu open-sources le truc ou tu comptes le vendre ? (les 2 sont louables !)
- Pourquoi du Winform et pas du WPF ? Car tu avais beaucoup de libs déjà prêtes ?
- Tu passes par l'USB ou le Bluetooth ?
- S'il existe un SDK .Net pour le proto Carrera qui reverse engineere le protocole BT, ça doit être 'relativement' jouable de le réécrire en ObjC/Swift pour iOS et Java pour Android non (surtout Java du coup !)

Bon ma dernière question concerne Carrera, mais c'est ce qui m'intéresse surtout ;-)

EDIT : pour tes versions iOS et Android, connais-tu Xamarin ? C'est un Framework (et même un IDE) écrit par Miguel de Icaza, celui qui a porté le Fx .Net sur Linux (Mono). En gros, ça permet d'écrire ton code NATIF iOS et Android en C#. Les API sont celles de chaque OS, mais déjà pour le langage et le code partagé et non lié aux OS mobiles, c'est pas mal !

Mon tracé avant la mise en carton : http://www.france-slotforum.fr/forum/messages.html?idsujet=1523650&page=2&pgi=0#_msg17719893

Posté le 13/04/2015 à 16h29 par dd32

kall a écrit :
- Tu open-sources le truc ou tu comptes le vendre ? (les 2 sont louables !)

En fait pour le moment ni l'un ni l'autre car je n'ai pas le temps nécessaire.
J'essaye, pour commencer, de me faire plaisir avec un logiciel que j'estime adapté à mon utilisation et pour la suite je verrais. Certainement que je passerais par une phase de partage de la version et en fonction des retours j'aviserais. Mais clairement ce n'est pas un objectif pour moi.

kall a écrit :
- Pourquoi du Winform et pas du WPF ? Car tu avais beaucoup de libs déjà prêtes ?

Simplement parce que j'avais un background plus important et que dès le départ je voulais me concentrer sur le pilotage de la base SSD et pas sur l'IHM. Mais le développement est fait de telle sorte que changer l'ihm serait très simple.

kall a écrit :
- Tu passes par l'USB ou le Bluetooth ?

Pour l'instant USB car je n'ai pas encore la documentation du protocole bluetooth. D'ailleurs je pense que la base digitale bluetooth n'est pas encore sortie.

kall a écrit :
Bon ma dernière question concerne Carrera, mais c'est ce qui m'intéresse surtout ;-)

J'attends de voir ce qu'est exactement l'API .Net Carrera pour juger de la complexité, mais je ne vois pas pourquoi ça serait plus hard que le SSD. La limite que je vois pour moi c'est que je n'ai pas de matos Carrera pour faire les tests en cours de développement et clairement c'est impossible sans. Pour faire le développement SSD + toute la partie IHM + stockage des données etc. j'ai bossé environ 60/70 heures, c'est pas beaucoup. Je me dis qu'une fois que tout sera rodé, développer l'interface avec Carrera ne devrait pas prendre hyper longtemps...

Posté le 13/04/2015 à 16h32 par dd32

kall a écrit :
EDIT : pour tes versions iOS et Android, connais-tu Xamarin ? C'est un Framework (et même un IDE) écrit par Miguel de Icaza, celui qui a porté le Fx .Net sur Linux (Mono). En gros, ça permet d'écrire ton code NATIF iOS et Android en C#. Les API sont celles de chaque OS, mais déjà pour le langage et le code partagé et non lié aux OS mobiles, c'est pas mal !

Tout a fait, je connais et je suis parti sur des library portables pour tout ce qui peut l'être.
Du coup pour iOs et Android il ne reste que la partie IHM à faire et également l'interface avec le matériel pour la communication car bien entendu les library pour l'utilisation du port série ne sont pas portables.

Posté le 13/04/2015 à 16h41 par dd32

Oui c'est le cas. J'ai une classe abstraite GenericDigitalHI et une interface IGenericDigitalHI associée.
Avant qu'on s'embarque la dedans il va falloir que je termine quelques refacto et que je valide tout sur des courses plus importantes que celle d'hier, mais dans l'absolue on pourra le faire ouais.
D'autant qu'au final, l'interface avec la Power Base c'est assez simple.

La seule chose c'est que toute les méthodes de la classe de base sont orientées SSD, je ne connais tellement pas le protocole Carrera que je ne sais pas s'il y a des choses qui sont à faire différemment dans l'approche.

Posté le 13/04/2015 à 16h46 par dd32

Oui c'est ça, pardon.
Pour l'instant, de mon côté je n'oblige pas a faire le refuel dans une PitLane car c'est trop restrictif pour un paquet de tracé qui n'ont pas de pitlane.
Du coup le pitstop peut se faire (pour l'instant en tous cas) n'importe ou sur la piste.
C'est un choix certainement temporaire (encore que), mais encore une fois adapté à mon utilisation du moment.
Sur mon 2 voies actuel on a une pitlane, mais si on passe en 4 voies on va virer la pitlane et plutôt "dédier" une voie sur les 4 pour les pitstop ou pour les remises en piste après sortie.

Rien n'est définitif mais j'essaye de rester simple dans l'approche pour ne pas tomber dans les "travers" que je reproche aux autres logiciels (trop de paramétrage, trop de matos à brancher ou bidouiller etc.)

Posté le 13/04/2015 à 17h03 par dd32

Effectivement ça a l'air pas mal fait.
Par contre je vois un truc a refaire c'est l'utilisation du SerialPort.
C'est une classe pourrie de chez MS, elle marche très mal.
Je l'utilisais au départ et j'ai finalement trouvé quelque chose de beaucoup plus fiable.
Mais les modifications sont mineures.
Quand j'aurais le temps je regarderais le coût d'intégration de ces classes.

Mais pour le moment j'ai un paquet de boulot (du vrai!) en retard !!!

EDIT : j'ai regardé plus en détail le code mais j'ai l'impression qu'il manque des choses.
Chez Carrera Black Box et Control Unit c'est quoi ? Du digital ou de l'analogique ?

Posté le 13/04/2015 à 17h20 par dd32

Et ouais, du coup ma journée de taff à pris un petit coup ! (mais bon j'ai la chance de travailler pour moi, donc je rattrape mes heures le soir...)

Ok donc c'est du digital, du coup il manque toute la partie "réponse à la box".
La on a toute la lecture des paquets envoyés par la box, ça nous donne le temps de passage des autos etc (read sur le port série)
Mais il n'y a rien pour lui donner les instructions (write sur le port série). Par exemple la puissance de l'auto si tu veux limiter la vitesse des autos sur un trackCall.
Donc il y aurait la moitié du taff faite mais pas l'autre, sauf si la box Carrera travaille totalement différemment de celle de chez Scalex.

Posté le 13/04/2015 à 17h55 par dd32

Un bon indicateur est de voir ce que sait faire PC Lap Counter avec ces box. Il est très complet et en général il exploite le matériel à fond.
Même si je ne suis pas fan pour mon cas d'utilisation, ce soft reste la référence pour moi.
Après ce qu'il faut voir c'est la documentation du protocole Carrera. En théorie la lecture du document apporte toutes les infos nécessaires (c'est moins cher que d'acheter tout le matos pour faire des essais !).
Si tu trouve cette documentation, je pourrais la lire pour comparer rapidement à celle de Scalex que j'ai lu et relu 30 fois

Posté le 13/04/2015 à 18h23 par dd32

Ha mais au contraire, Scalex le publie, d'ailleurs ils ont tout intérêt à le faire, ça aide les développeurs à faire des produits pour eux.
Tout comme DS Racing qui publie son protocole d'ailleurs.
Mais pour Carrera je n'ai pas cherché et je ne sais pas comment ils se positionne. Je regarderais à l'occasion.