dsDRO

  • Auteur de la discussion MaX-MoD
  • Date de début
M

MaX-MoD

Compagnon
Petit up.
Comme j'ai (de nouveau ) la crève, je suis au chaud chez moi.
Et comme je m'ennuies (je vais quant même pas réviser mes cours ^^) ben dsDRO ça continue.

dsView est quasi opérationnel. Il envoie les commandes série et traite les paquets envoyés pas dsDRO. Il ne me reste plus qu'à me débarrasser des afficheurs "7 segments" qui ne prétendent pas afficher ce qu'il y a derrière la virgule. Très énervant.
EDIT: Juste un problème de "," et "." pas compris pareil... je fignole et commit


après c'est modif de mon premier proto, à l'arrache (je vous préviens, ça risque de pas être joli à voir) pour y mettre le dPIC plus gros. à partir de là, premiers test et détermination du schémas final et... routage.

Alors Armaris, tu as pu tester la cross-compilation?
 
W

wika58

Compagnon



Max,

Pour la liaison série entre le PIC et le PC, utilsises-tu les signaux de contrôle CTS, DTR, ...
ou simplement les RX, TX et GND...?
Je suis en train de câbler mon PC "Usinage" dans un petit meuble sur roulettes et je ne câble que ce qui est nécessaire...

A+

Et vive le dsDRO

P.S:
Comme je te l'ai déjà dit... un bon grogue et dormir avec les chaussettes...
 
M

MaX-MoD

Compagnon
Salut Wika (t'as vu, j'ai pas écris "Waka" cette fois )

Pas besoin de DTR etc. ça marche très bien en se contentant de RXD et TXD alors...

Si tu veux tester dsView, j'ai join l'exécutable Ubuntu 8.04; Il faut enlever l'extension.
(Il faut encore que je retrouve la commande pour comitter sur le serveur )
Pour le tester, relies les pins correspondant à RXD et TXD sur le câble série.
Dans la fenêtre configuration (bouton en b à d), il faut appuyer sur "Open" (sélectionnes le port qu'il faut avant). Dans la ligne de texte, colle #X654,54Y-12,1Z0,1A21,6B-15V2000_ puis clique sur "Send".
dsView s'envoie alors la trame via le port série.

Si tout fonctionne bien, tu devrais avoir des coordonnées qui s'affichent sur la fenêtre principale.
Quant au fonctionnement global, le voici:

Les boutons "Zéro machine" permettent de définir l'origine machine à la position courante. La position absolue est donc relative au zéro machine!
Les boutons sont initialement vérouillés (pour éviter la catastrophe), il y a un bouton de déverrouillage en bas à droite.
Le bouton ABS bascule entre position relative et absolue, et le bouton SET permet de définir l'offset.

Si tu vois un meilleur mode de fonctionnement, fais moi signe

PS:En revanche la vitesse de coupe c'est pas encore ça. Je voulais faire une gestion basique des formules mais pour finir ça va être plus simple je crois.Voir la pièce jointe dsview.txt
 
W

wika58

Compagnon
J'installe ça en fin de semaine et fais des essais...

Pour le moment la machine que j'ai faite pour mon PC d'atelier se plante au démarrage...
Mon ami info vient demain soir regarder...

Je te tiens au courant...
 
A

armaris

Compagnon
Testé rapidement hier,

L'exécutable dsview se lance bien, ne pas oublier :
chmod +x dsview
puis ./dsview
Par contre le fait d'utiliser la chaine #X654,54Y-12,1Z0,1A21,6B-15V2000_ et de l'envoyer ne change rien à l'affichage.

Je ne suis pas familier avec les projets QDevelop, pas trop de souçis à l'installer, à quelques librairies près, par contre :
- dans le SVN, le répertoire /build/.o/unix/ n'est pas créé.
Il me reste quelques erreurs de compilation sur des portées (scope) non disponible (sur la partie port série), peut-être un namespace non défini ?
 
W

wika58

Compagnon
Max,
J'ai essayer de le lancer, mais le système veut me l'ouvrir avec Wine ???
Si tu as un conseil...
SInon je verrai avec mon ami ce soir.

Armaris,
Peux-tu expliquer à quelqun qui n'y connait rien en Linux mais qui l'utilise en OS avec l'interface graphique ...à quoi correspond:
armaris a dit:
ne pas oublier :
chmod +x dsview
puis ./dsview
 
A

armaris

Compagnon
chmod +x dsview permet de donner les droits d'exécution sur le fichier.
sinon il est vu comme un fichier de donnée.
Si tu utilises la coloration syntaxique de bash, les fichiers/répertoires apparaissent de couleurs différentes suivant leurs droits et type.

./dsview permet juste d'exécuter le fichier à partir du répertoire courant (préfixe ./).
Par défaut, unix va chercher dans le répertoire /usr/bin,usr/local/bin, etc...
tu peux voir le chemin des exécutables en tapant cat $PATH.
C'est la même chose sous Windows, la même variable Path existe et les programmes d'installation ajoutent un chemin à cette variable.

Sous linux, la procédure standard pour compiler/installer un programme, c'est :
./configure qui permet de vérifier que toute les librairies et dépendances sont installées, ainsi que la gestion des options du programme.
make qui compile le programme et génère l'exécutable
make install qui copie les exécutables dans le répertoire /usr/bin (entre-autre choses), ce qui permet d'avoir accès au programme sans le préfixer par ./
Eviter d'utiliser le make install tant que le programme n'est pas définitif.

Ce sont les grandes lignes, il y a beaucoup d'autres subtilités.

Là on s'éloigne de la mécanique (bien que dans CNC, il y a un C pour Computer).
 
M

MaX-MoD

Compagnon
Ok Wika, j'attends de tes nouvelles!


Héhéhé, nonon


armaris a dit:
Testé rapidement hier,

L'exécutable dsview se lance bien, ne pas oublier :
chmod +x dsview
puis ./dsview
ah oui j'avais oublié de le préciser!

armaris a dit:
Par contre le fait d'utiliser la chaine #X654,54Y-12,1Z0,1A21,6B-15V2000_ et de l'envoyer ne change rien à l'affichage.
tu as bien relié les pins 2 et 3 de ton port série?
Si oui, y'a un problème. Je vais devoir regarder ça de plus près...


armaris a dit:
Je ne suis pas familier avec les projets QDevelop, pas trop de souçis à l'installer, à quelques librairies près, par contre :
- dans le SVN, le répertoire /build/.o n'est pas créé.

Vu que j'ai eu une interruption d'internet, 'ai oublié de comitter hier.
M'en occupe ce soir sans faute.

armaris a dit:
Il me reste quelques erreurs de compilation sur des portées (scope) non disponible (sur la partie port série), peut-être un namespace non défini ?
Bizarre do mon côté j'ai pas de problèmes
Il te dit quoi exactement?
 
W

wika58

Compagnon
Mon pot est là...
CA MAARCHE !!!
Je ferais le test de rebouclage plus tard....
 
A

armaris

Compagnon
tu as bien relié les pins 2 et 3 de ton port série?
Euh non , je pensais que c'était un rebouclage 'virtuel'.
Je doit avoir un driver série qui permet ça, je vais vérifier.

- dans le SVN, le répertoire /build/.o n'est pas créé.
Vu que j'ai eu une interruption d'internet, 'ai oublié de comitter hier
En fait c'est /build/.o/unix

Il me reste quelques erreurs de compilation sur des portées (scope) non disponible (sur la partie port série), peut-être un namespace non défini ?
Bizarre do mon côté j'ai pas de problèmes Question
Il te dit quoi exactement?
Je crois que j'ai identifier le problème, il faut d'abord compiler l'exemple QSerial pour créer la librairie à linker.

J'aurais peut-être le temps ce soir pour tester sous Windows, je crois que j'ai une machine virtuelle qui traine avec un visual studio. Idem pour OSX.

D'un autre coté, j'ai scanné ce midi le manuel de mon tour EMCO CNC (400 pages, envoyées par mekratrig), j'ai un petit script à faire pour remettre les pages dans l'ordre et pour transformer ça en pdf.

Ça t'intéressa Max-Mod, tous les codes ISO sont décrit en français avec schéma et beaucoup d'explication pratique (prise de référence, compensation d'outils, ...).
 
M

MaX-MoD

Compagnon
Oh ouiiii!!!!
Parce que le "G-code reference" de EMC

A+
 
A

armaris

Compagnon
Merci j.f.,

En fait je travaille avec VMWare Server et Xen depuis un petit nombre d'année (+ QEMU).

Quand je parlais de retrouver une VM, je parlais du fichier VMX qui contient l'image de l'OS (içi XP et Max OSX) avec les environnements de développement déjà configurés.

A part pour les tests clients, je n'utilise plus beaucoup Windows.
 
J

j.f.

Compagnon
Hors sujet complet : je commence juste à m'intéresser aux VM pour tester des install. personnalisées de XP (avec nLite). Je rêve d'un DVD unique qui puisse installer XP et les principales applis, pilotes RAID, drivers, etc. en automatique complet sur n'importe laquelle de mes machines (perso et boulot).

Je suis ce sujet avec le plus grand intérêt...

Et je suis têtu : dès que j'aurai connaissance du protocole de com., j'attaquerai une version en Visual C++ / MFC. Bien sûr en diffusant les sources.

Juste une question en passant : avec deux ports com, pourait-on émuler sur l'un DSDRO, et communiquer avec l'autre pour afichage et compagnie ? Je pense que oui, mais je me trompe peut-être...

Pourquoi série plutôt qu'USB qui tend à disparaître sur les portables ?
 
M

MaX-MoD

Compagnon
Windows Gold?
J'ai essayé, mais remplacé (pas très légal un win cracké avec 100% d'applis créckées en plus^^)

j.f. a dit:
Je suis ce sujet avec le plus grand intérêt...

Et je suis têtu : dès que j'aurai connaissance du protocole de com., j'attaquerai une version en Visual C++ / MFC. Bien sûr en diffusant les sources.
Plus rapide, compiler le projet avec Qt4/Qdevelop sous windows!
Quoique j'aurais certainement réussi à cross-compiler dsView pour windows quant dsDRO sera complet
Je te l'ai dit, J'ai tout fait pour que ce soit portable entre le 3 OS majeurs (donc Windows)
Mais rien ne t'empèche de créer une interface à toi si tu le souhaites! dsDRO est sous GPL, libre à toi de modifier et partager le code!
De même, si tu veux améliorer le code, rdv@http://dsdro.origo.ethz.ch
pour l'instant le site est un peu pauvre en doc mais ça va venir.


j.f. a dit:
Juste une question en passant : avec deux ports com, pourait-on émuler sur l'un DSDRO, et communiquer avec l'autre pour afichage et compagnie ? Je pense que oui, mais je me trompe peut-être...

Oui. Mais plus simple: une librairie de port COM virtuel: un programme d'émulation dsDRO créer un port RS232 virtuel, dsView se connecte dessus. Aucun branchements externes à faire. Pas besoins de COM2

j.f. a dit:
Pourquoi série plutôt qu'USB qui tend à disparaître sur les portables ?
Car je suis plus à l'aise avec les 30FXXXX qui n'ont pas d'USB.

Mais le code côté dsDRO (carte) est portable facilement vers un PIC USB.
J'ai en tête par exemple, une modif du code CDC (Communicatio Device Class ou émulation de RS232 via USB) de Microchip avec le 18F4550. La quantité de boulot est moindre pour porter des 30F au 18F4550, puisqu'on a déjà le code de microchip permettant d'émuler un port RS232 via USB sur le 18F4550! On redirige le printf() et le tour est joué!
En plus, cela n'a aucun impact coté PC car la carte serait toujours reconnue comme fonctionnant sur RS232!

Seul au niveau interruptions externes ça peut différer...
Il n'y a pas toute cette puissance des vecteurs d'interruptions multiples sur les 18F!
la puissance devrait suffire j'imagine...

A+
Max
 
J

j.f.

Compagnon
Merci pour le tuyau à propose des ports com virtuels. Je ne connaissais pas. Comme ça pas besoin de se poser la question d'un câble normal ou null modem, par exemple ! Un coup de Google : plein d'infos en vue.

C'est pour faire une interface personnalisée. Et comme je ne suis plus capable depuis longtemps de gérer des boucles de messages et autres trucs autrement que par les classes MFC et le générateur de code de Visual C++, je me vois mal trifouiller des créations de fenêtres et autres saletés de switch() qui n'en finissent pas.

Non, pas Wingold. Unt ruc entièrement configuré pour mes besoins à partir d'originaux.


Tiens, d'ailleurs, aveec Virtual PC, on peut créer des machines virtuelles avec leurs ports com virtuels, et les relier entre elles. On peut faire une machine avec son système et faisant touner un soft émulant DSDRO, et une autre machine virtuelle avec Windows XP (ou autre chose), faisant touner le soft de visu...
Tiens, tu vois, là, je te lis sur mon bureau XP SP3 avec IE7, et je te réponds depuis une machine virtuelle sur laquelle est installé XP SP1 "de base" avec IE6

Virtual PC est gratuit pour PC, payant pour MAC ; permet de faire tourner à peu près n'importe quoi comme ce qui se fait sous LINUX je crois. Je découvre, c'est le pied. pas besoin de partitionner, booter etc.

 
W

wika58

Compagnon
MaX-MoD a dit:
...
Quoique j'aurais certainement réussi à cross-compiler dsView pour windows quant dsDRO sera complet
......
A+
Max
Ah oui hein!
Maintenant qu'on est si près du but !!!




j.f. a dit:
,,,Virtual PC est gratuit pour PC, payant pour MAC ; permet de faire tourner à peu près n'importe quoi comme ce qui se fait sous LINUX je crois. Je découvre, c'est le pied. pas besoin de partitionner, booter etc.

Ca plante déjà avec un WIndows, alors avec plusieurs en même temps...
 
A

armaris

Compagnon
Ca plante déjà avec un WIndows

Windows XP peut-être très stable, je l'utilise en machine de build et pour Solidworks, aucun problème.

Il faut juste le configurer correctement (minimum de service, virer les applications inutiles, éviter de télécharger 4 tonnes d'applications gadget, ...).

Un linux ou un mac mal administré, c'est aussi la catastrophe.

L'intéret des machines virtuelles, c'est de développer des systèmes stables et prêt à l'emploi en quelques minutes.

@j.f., jette un oeil sur Ghost, très utile pour l'administration système.
Cela permet de faire des copies d'image disque et éventuellement de les transformer en VM.
 
J

j.f.

Compagnon
Ghost ? Pas le Norton ?
Parce que justement, question stabilité, si je n'ai pas d'ennuis avec Windows, c'est bien pour avoir arrêté les Norton il y a longtemps : je ne suis plus embêté depuis.

Que des vieux outils Powerquest, d'avant le rachat de cette société par Norton. Norton = caca.

Ghost n'est qu'une solution de sauvegarde.

En pro, mes machines sont hyper stables. Jamais, je dis bien jamais, de problème avec XP. Au domicile, c'est différent. Je change souvent de configuration (actuellemnt 7 disques durs avec en tout 3 contrôleurs : 1 RAID en PCI, 1 IDE intégré, 1 RAID SATA intégré ; et je varie souvent, un coup du RAID0, un coup du RAID1, boot parfois sur contrôleur interne, ou extension, etc.). Là, je viens de passer le disque système en RAID0 : obligé de brancher un vieux lecteur de disquette pour l'installation : gavant. Donc un ghost ne sert à rien. D'où les outils permettant de personaliser les instal. Ceux fournis par MS dans SUPPORT/TOOLS sont trop lourds (fichiers ini et autres trop difficiles à rédiger, et il n'y a aucune convivialité). Toujours install. from scratch. Ce qui est pénible, c'est d'installer Windows, de le configurer et d'y ajouter les utilitaires indispensables.

L'instabilité de XP est un mythe. Il m'est arrivé de laisser allumé 1 ou 2 mois sans avoir à rebooter. Quand on regarde les forums des geeks boutonneux qui ont des problèmes, et qu'on voit les trucs qu'ils installent, on comprend vite ! (après avoir décrypté leurs SMS).

MaxMod : je n'ai pas trouvé le protocole de com. sur ton site ? Plus haut tu évoques la transmission de chaînes de caractères. peux tu en dire plus, ou bien ce n'est peut-être pas encore totalement fixé ?
 
W

wika58

Compagnon
armaris a dit:
...Windows XP peut-être très stable
...
L'intéret des machines virtuelles, c'est de développer des systèmes stables et prêt à l'emploi en quelques minutes
....
Je suis pas inforamticien, mais j'ai déjà géré pas mal de projets où il y a de l'informatique et tant que ça marche OK, mais si t'a des problèmes avec des machines virtuelles bonjours (fuite mémoies,....)
Dans les derniers projets, il y avait des dizaines de PC répartis par fonctionalité et emplacement géographique, qui concentraient les données et les renvoyaient vers un calculateur central...
Les appli étaient en java
Il y avait très souvent des plantages...
La seule chose que le fournisseur à trouver à faire c'est de faire des reset systématiques tous les lundi...???
Bof.
Et le Ctrl+Alt+Del n'est-il pas la première phrase de tout service IT ...
Mais c'est mon point de vue et non une vérité proclammée...
 
J

j.f.

Compagnon
Ah les fuites de mémoire ! (memory leaks)

C'est dû à une mauvaisqe programmation des applicatifs. J'avais discuté de ça il y a longtemps avec un informaticien enseignant, et il est tombé sur le c*l quand je lui ai appris que ni DOS ni Windows ne possédaient de rammasse miettes (garbage collector), et que c'était à gérer à la main.

Pas toujours facile, en particulier avec les resources graphiques (GDI). Et c'est là tout l'intérêt des MFC qui facilitent considérablement la tâche grâce aux constructeurs et destructeurs.

je vais m'y remettre ce week-end, ça me démange trop. Et puis j'y suis moins mauvais qu'en usinage

Mais qu'est ce que je fous là à discuter informatique ??? Alors que l machine à pain est en panne et qu'il faut la réparer et lui faie que je lui refasse le système d'ntraînement et un patit tuning

('tain j'en ai marre de ce nopuiveau clabier !!!!!!!!!!!!!!!!!!!!!!!!!)
 
Y

yannick

Nouveau
« j.f. » a écrit :
L'instabilité de XP est un mythe.
Ha ? Alors je suis probablement mythomane.
Assurer l'exploitation et le support de plusieurs centaines de PC fait partie de mon boulot : je peux vous assurer que les plantages font partie de mon quotidien. Dans mon métier on a un adage : "Prenez un PC neuf et installez y Windows (n'importe quelle version et sans prendre de risques : options d'installation par défaut). Ne touchez plus à rien. Si vous attendez assez longtemps il finira bien par planter ..."

Il y a une quinzaine d'année je développais des systèmes temps réel. Comme OS j'utilisais surtout VxWorks : outils super pro, quelques dizaine de ko en mémoire, "vrai" temps réel (interruptions toujours servies en moins de 40 micro secondes sur un 68030 !) et JAMAIS aucun plantage !
C'est toute la différence entre un soft fait par et pour des techniciens et un machin conçu par des commerciaux pour des gogos.

« j.f. » a écrit :
Ghost n'est qu'une solution de sauvegarde
C'est surtout un moyen de restaurer sa configuration système après un crash en quelques minutes et sans prise de tête (à condition, bien sur, d'avoir pris la précaution de ne mettre aucune donnée sur cette partition).
C'est aussi un excellent moyen de déployer rapidement une conf sur plusieurs PC en étant sur que toutes ces machines seront strictement identiques.
Personnellement je préfère la version 8 que je trouve plus simple à mettre en oeuvre que les versions récentes. A utiliser depuis un CD bootable comme Bart PE par exemple.
 
M

MaX-MoD

Compagnon
Revenons-en à nos moutons : PCB V2 terminé.
Plus de connecteur peut LCD, mais un connecteur 2x8 contacts pour LCD, clavier et d'autres possibilités comme : bus CAN (je vois pas trop l'utilité mais bon...), SPI/I2C, PWM pour commander un moteur d'avance auto etc...

Donc me revoila à coder.
Il faut encore que je face une commande chez sélectronic, pour des CI présens et surtout une station de soudage 50W un peu plus caustaude que mon 30S (24W).
Après, je pourrais enfin tester "IRL"
 
W

wika58

Compagnon
Ca avance

On peut voir à quoi resemble le PCB

Une question, tu parles de commande de moteurs ...
J'avais compris que la carte dsDRO faisait l'acquisition des mesures sur les règles/PAC et les renvoyait soit vers un PC soit vers un afficheur local...
Tu peux un peu expliquer...

J'ai enfin trouver une carte mère qui fonctionne, je vais pouvoir remonter mon PC Usinage et faire les test réel sur l'appli de visualisation dsDRO...


P.S.: J'ai préparé ton matos, il faut que j'aille le poster...
 
M

MaX-MoD

Compagnon
Pour la commande moteur, c'est une possibilité d'extension via carte à part, de même que le LCD.
Pour ceux qui voudraient commander leur avance auto avec dsDRO, il y a les ressources matérielles pour le faire.
De même, il y aura les ressources matérielles pour asservir la vitesse de la broche.
Mais le développement sera postérieur à la finalisation de dsDRO (en tant que DRO)

Ah, j'attends ton paquet
Il faudra que tu me dises : quel contour peux-tu pour le PCB : trous de fixation, entraxe etc.

Concernant le PCB, il a la même taille, il est 1 ou 2 couches, les pistes coté compos pouvant être remplacées par des straps. Le BOM n'a pas changé, excepté pour le 30F4011

vue 3D.
Les condos sont bien plus grands qu'en vrai. Il manque de nombreux modèles.


Vue de haut. Le connecteur d'extension (LCD, etc.) en h à g, connecteurs PAC en bas, RS232/alim à droite.
à gauche l'entrée fourche optique pour vitesse de broche
 
W

wika58

Compagnon
MaX-MoD a dit:
...
Ah, j'attends ton paquet
Il faudra que tu me dises : quel contour peux-tu pour le PCB : trous de fixation, entraxe etc...
Je vais mettre le dsDRO dans un boitier identique à celui que je t'envoie... donc pour la fixation, tu n'as qu'à regarder ce qui va le mieux...
Idéalement dans ce type de boitier, toutes les connexions sont en bas, dans la partie réservée ... mais je vois aussi très bien, un câble en nappe (40) partagé pour aller sur les 5 connecteurs subD qui revient sur un HE10 sur un petit PCB-bornier avec une série de bornes pour raccorder l'ensemble des fils venant des PAC et allant au PC...
Pour le subD9, si tu pouvais mettre le RX,TX et Gnd sur les bornes 1, 2, et la masse sur les bornes 6-7 ...Ca permet d'utiliser les 4 fils restant du 40 points...

Une question, coment se fait-il que tu utilises 7 fils entre la carte et chaque PAC?
Il n'y a que 4 fils sur les PAC...

Voici une photo du boitier...on peut normalement mettre 2 PCB simple Europe en vertical.
La carte dsDRO et éventuellement une carte interface puissance future...

 
M

MaX-MoD

Compagnon
malin!
Je verrai à la réception comment ça s'arrange le mieux dans le boitier.
Pour le PCB-bornier, je peux ptet le faire si je trouve le temps. La semaine prochaine va être ultra chargées (39h de cours+Tp! )

wika58 a dit:
Pour le subD9, si tu pouvais mettre le RX,TX et Gnd sur les bornes 1, 2, et la masse sur les bornes 6-7 ...Ca permet d'utiliser les 4 fils restant du 40 points...
ça peut être une bonne solution.


wika58 a dit:
Une question, coment se fait-il que tu utilises 7 fils entre la carte et chaque PAC?
Il n'y a que 4 fils sur les PAC...
Masse + alim 5v + alim-5V + DATA/CLK et enfin les lignes permettant à dsDRO de forcer les lignes DATA et CLK à l'alim positive (permet de changer les modes des PAC 7BCD, optionnel)
pour un PAC à masse commune au - de la pile, 4 fils suffisent, 5 pour les pac à alim négative.


wika58 a dit:
Voici une photo du boitier...on peut normalement mettre 2 PCB simple Europe en vertical.
La carte dsDRO et éventuellement une carte interface puissance future...
Wow! c'est vaste!
Il est complètement étanche? je vois le joint, mais les vis traversent la face avant
 
W

wika58

Compagnon
mais c'est bien sur.... il y a les alim à câbler sur les pins des piles...

Pour le boitier, c'est du pro, il est étanche... mais pas IP65...
 

Sujets similaires

P
Réponses
26
Affichages
3 441
Patrick1340
P
Réponses
10
Affichages
1 076
Papy54
J
Réponses
4
Affichages
477
J
Réponses
14
Affichages
1 346
celtic14
Réponses
2
Affichages
1 109
petit_lulu
S
Réponses
29
Affichages
880
vieuxfraiseur
C
Réponses
5
Affichages
683
Dodore
D
Réponses
111
Affichages
3 150
chabercha
C
Réponses
8
Affichages
2 887
'Charlie
C