How to launch a procedure just after initializing the screen?

Hello

I'm new to app inventor and I ran into a problem. I launch a first screen with an image. After pressing an OK button, the main screen is initialized.
And there, I am looking for a bluettooh device to connect and I put this search in the initialization procedure of the main screen.
Because of this, the main screen does not appear until the initialization procedure is completed, which takes 1 or 2 secondes where nothing happens.
As I see that the screen is not displayed, I would like to launch a bluetooth search procedure after the initialization procedure so that the screen is displayed.
How to do ?
(Maybe activated a clock in the initialization procedure which launches the bluetooth procedure but that seems strange to me as a solution)
Any help would be appreciated

Hi @Herve_Mo ,
you're definitely right. If you want to display a splash screen (with a picture, for example) you put in the screen initialization block a start timer command with a time delay of 1000 ms (example), After 1000 ms the clock fires, it shall then disable itself and start the BT connection. Once connected, the flow of the app can go on. Effectively when the BT connection block is trying to "pair" a BT client, nothing else can be done. Remember that AI2 is a single thread.
It's not so "strange" . :slight_smile:

2 Likes

Thank uskaria you for your answer :+1:

If for me, this method seems strange to me, I am rather old school :grinning_face_with_smiling_eyes:

Hi @Herve_Mo,
most probably I'm older than you (I'm 64) :slight_smile: As a general hint, please be prepared to use clocks many times when using AI2.The structure of an AI2 app is "event triggered" so if you want to have a time based execution you should organize your code as a scheduler (i.e. a timer tick that fires every x ms and then it executes tasks every m,n,o,p,q,.... multiples of the base tick). So, welcome on board :rofl: :rofl: :rofl:
Cheers, Ugo.

1 Like

thank you for your explanations grandpa (I am 56 years old :grinning_face_with_smiling_eyes:)
I started with assembler on commodore 64, it has changed since
After playing with the arduino, I test the esp32 and I have just discovered app inventor, so the phone must drive the esp32 :laughing:

cheers Hervé :grinning: :wink:

Hello Hervé (@Herve_Mo) donc tu es Français ? (moi je suis Italien).
Moi aussi j'ai commencé avec l'assembly, celui du Z80 (1982)...
Arduino est vraiment très amusant: il est "presque" un language C, et il est encore possible de faire du temps-reél (real-rime).
Le dernier project avec l'ESP32 que j'ai fait c'est d'acquerir des capteurs Hall mis aux roues d'une vieille Lancia Fulvia (1967) qui participera au rally de MonteCarlo (Janvier 2023) et puis d'envoyer en BT le numéro de pulsions Hall de l'ESP32 à un Pad où montrer la vitesse en numerique.
Si tu veux du code ESP32 et du code AI2 n'hesite pas Ă  me contacter par MP.
Meilleures salutations,
Ugo

Oui je suis français
J'ai une amie italienne de ma fille (19 ans) qui vient de Rome et va venir pendant les vacances de noël :grinning_face_with_smiling_eyes:
Ah oui ! Je suis loin de savoir faire ce que tu fais, génial de faire le rallye de Monte Carlo bravo ! L'idée de récupérer la vitesse est très bonne :star_struck: Ca ne dépend pas du gonflage des roues ? :grinning:
J'avais fais une Qlocktwo (cf google) il y a 5 ans. Mais le module rtc chinois ne fonctionne pas bien, j'en profite pour m'amuser et passer en esp32 (récupération du ntp wifi avec l'esp32 et communication BT avec le téléphone).
Merci pour ta proposition, je ne manquerais pas de te contacter si j'ai besoin. Pour l'instant, je vais essayer de le faire, je te montrerais le résultat si j'y arrive :grinning_face_with_smiling_eyes:
Ton français est très bon :+1:
PS : tu ne te serais pas amusé avec un zx81 ?

1 Like

Salut Hervé,
oui, tu as raison, il peut dépendre du gonflage, mais on fait la moyenne des roues droites et gauches.
De toute façon on peut paramétrer le diamètre des roues en l'écrivant dans un ficher de paramètres sauvé sur le pad. On a aussi la possibilité de faire une acquisition de kilometrage en comparaison avec le GPS du mème Pad pour faire un "fine tuning" (je ne sais pas comment le dir en Français :roll_eyes:).
Donc, bonne chance pour ton project !!! :muscle: :muscle: :muscle:
A+

Edit:
Non, pas de ZX81...(Sinclair) mais directement une carte éléctronicque avec un clavier 0-9/A-F et un écran (2 lignes *16 charactères). En effet le prémier microprocesseur que j'ai utilisé était le Intel 8085 (encore plus vieux du Z80).

1 Like

"réglage fin"
Ah oui pour ta carte électronique ! J'avais commencé avec l'oric 1 en 1984 (pas d'assembleur) et j'avais fait les scrolling d'un frogger en langage machine :blush:
C'était une blague pour le gonflage, ça ne modifie pas beaucoup le nombre de km/h :laughing:
Je t'envoie bientôt mon ficher aia pour que tu me dises ce que tu en penses, j'aime bien les critiques constructives. Merci pour ton idée de clock, c'est maintenant intégré :+1:

One more question:
about the given idea. To make a splash screen that allows you to read the BT, you have to make virtual screens?

OK @Herve_Mo,
J'irai le regarder demain soir, si celà ne te dérange pas.

Mais en effet tu n'étais pas loin de la verité: les compétitions avec le voitures anciennes sont faites en régularité, c'est à dire qu' il faut parcourir un certain kilométrage à une vitesse moyenne très très precise. Et aussi un centimètre en plus ou en moins (sur la circonférence de la roue) peut porter à un erreur de plusieur mètres à la fin de l'épreuve spéciale .... :hushed:

Going back to your question, yes, typically it's better to use virtual screens. I typically use Horizontal Arrangements or Vertical Arrangements to do that, by setting Visible yes or not.
There is also the possibility to make a "fade-in" and "fade-out" of these virtual screens by using the "Phase" extension from @shreyash (great job!!!):

Give it a sight and enjoy!!!
Bonne nuit Ugo.

Buona Notte !
Non pensavo fosse così preciso nei rally
Grazie ancora, ti ricontatterò presto

(google traduction :wink:)

Hallo Hervé (@Herve_Mo),
en pièce jointe tu peux trouver le aia de mon code qui s'interface avec le BT au réseau CAN de ma voiture (une Peugeot 207CC :heart_eyes:)
Tu peux y trouver comment utiliser plusieures extensions, comment utiliser les fichiers, les écrans virtuels, les clocks, le splash screen, la connexion BT, le GPS ... le beau des forums c'est de partager les expériences.
J'éspère qu'il puisse t'aider.
Bonne chance et bonne lecture... :slight_smile:
Ugo

PS le code est pensé pour un pad avec écran à 8" en orientement "paysage". N'est pas prévu de tourner en vertical ou de s'adapter à dimensions differentes.
CAN_207_GPS1_23112022.aia (3.9 MB)

1 Like

Nice, Thanks a lot !

Hello Ugo,

Sorry I didn't see your message, I'll look into it thanks!
I transform my project to pass everything in virtual screen which will allow me to launch the bluetooth on the splash screen.
I had a little trouble finding the right version of the phase extension yesterday

Thanks again

1 Like

Hello @Herve_Mo, mon plaisir !!
A+

1 Like

Hello Herve

Note that the disable block should be the first in the Clock Block. Also, first and foremost, you should ensure Bluetooth is enabled (switched on). If your Android version is > 9 and/or your Bluetooth version is BLE, Location usually has to be switched on too (that can be triggered by dragging a Location Sensor into the Project).

Example BT Classic Project:
BT_Basic_Setup.aia (7.6 KB)

Thanks !!!!

Note that the disable block should be the first in the Clock Block. Also, first and foremost, you should ensure Bluetooth is enabled (switched on). If your Android version is > 9 and/or your Bluetooth version is BLE, Location usually has to be switched on too (that can be triggered by dragging a Location Sensor into the Project).

Here the version before virtual screen :blush:. It's only graphic, I have also to send data by BT.
Clock.aia (844.9 KB)

Euh, ce n'est pas une lancia Fulvia sur le pad :laughing: well done :wink:

Slaut @Herve_Mo ,

Ah ooooui !!
La Lancia Fulvia du 1967 c'est Ă  un ami qui est lui qui fait les rallyes. Moi, lui ai fait le logiciel et l'HW c'est fait avec une ESP32 + un ARDUINO NANO.

Le .aia que je t'ai posté est pour ma titine, la 207CC (avant j'avais une Renault Mégane cabrio du 1998) je vais lire le réseau CAN de diagnostique et je montre les donnés de vitesse, de RPM, de température et autres en numérique, pendant le roulement normal. Ainsi je me suis fait un cockpit numérique:

(Et la voiture de famille est une Citroen Xsara Picasso, donc toujours Française ![:wink:]

Ciao ciao !!!

1 Like