Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Partage de code entre Arduino et Processing #2

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open

Partage de code entre Arduino et Processing #2

wants to merge 6 commits into from

Conversation

greut
Copy link
Member

@greut greut commented Nov 27, 2016

Partage de code entre les parties C++ et Java.

Bien évidemment avoir du code C++ qui est un mélange de dessin et de calculs n'est pas viable.

capture d ecran de 2016-11-27 13-21-12

En utilisant ArduinoSTL, std::vector et std::pair.

capture d ecran de 2016-11-27 19-13-44

Sans ArduinoSTL.

capture d ecran de 2016-11-28 09-41-16

@greut greut force-pushed the swig branch 9 times, most recently from 6ddb7d8 to 6a15341 Compare December 2, 2016 13:07
* ajout d'une direction de compilation DEBUG
* variations autour du logging
* nettoyage des PI existants en M_PI
* renommage de log en logging pour ne pas écraser <math.h>

Signed-off-by: Yoan Blanc <[email protected]>
SWIG permet de créer un jar (JNI) afin d'obtenir les valeurs en
Processing telles que l'Arduino.

Signed-off-by: Yoan Blanc <[email protected]>
@greut greut changed the title Partage de code entre Arduino et Processing Partage de code entre Arduino et Processing (en cours) Dec 2, 2016
@greut
Copy link
Member Author

greut commented Dec 2, 2016

Appel du Java depuis C++. 😉

toAngle 138.960449, 4.193955
moveServos
toAngle 139.178467, 3.726559
moveServos
toAngle 139.370926, 3.259506
moveServos
toAngle 139.537796, 2.792931
moveServos
toAngle 139.679047, 2.326685
moveServos
toAngle 139.794632, 1.860619
moveServos
toAngle 139.884521, 1.394868
moveServos
toAngle 139.948730, 0.929281
moveServos
toAngle 139.987244, 0.463710
moveServo

C'est encore une grosse bidouille.

@greut greut changed the title Partage de code entre Arduino et Processing (en cours) Partage de code entre Arduino et Processing Dec 4, 2016
@greut
Copy link
Member Author

greut commented Dec 4, 2016

@grunenwald L'étoile de gauche utilise le code C++ celle de droite celui en Processing. La magie se trouve dans Dessin.java

swig

Pour finaliser le truc, il faut:

  • adapter le code swig pour compiler dessins.h et non plus shared.h (du coup renommer shared.i en dessins.i)
  • virer dessins.pde et adapter les appels spirale -> dessins.spirale
  • ...
  • profit!

À présent, Processing peut utiliser les mêmes déclarations que celle
utilisées par l'Arduino.

Signed-off-by: Yoan Blanc <[email protected]>
* Suppression de Dessin.java qui est inutile.

Signed-off-by: Yoan Blanc <[email protected]>
xold=xmm; yold=ymm;
xmm=x*zoom; ymm=y*zoom;
}
});
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@grunenwald la magie est là.

shared.etoile(...); --> shared.so#etoile --> CallerJNI.java --> Callback.toAngle

Toutes, non, mire et dessine_liste sont soit liés à la physique du robot
(taille des bras), soit à des données externes, e.g. liste.h

Signed-off-by: Yoan Blanc <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant