Oxoscript se transforme en NanoPy - plus d'infos

Fonctions système

returnToMenu

  returnToMenu()->bool

Cette fonction permet de revenir au menu.
La valeur de retour indique si l’utilisateur a vraiment quitté le programme..

    if getButton():
        if returnToMenu():
            return

exit

  exit()

Quitte le script actuel et retourne au menu.

restart

  restart()

Redémarre la carte.

setPrecision

  setPrecision(val:byte)

Formate les décimales lors de l’édition de valeurs flottantes:

f = 1.23931
setPrecision(2)
print(f) # "1.24"
setPrecision(4)
print(f) # "1.2393"

Il est également possible d’indiquer 0. Dans ce cas, la valeur entière est affichée (arrondie, sans point décimal):

a = 1.2345
setPrecision(1)
print a # 1.2
setPrecision(0)
print a # 1

print

  print(str:byte[])

Envoie le paramètre de chaîne défini au terminal dans l’éditeur NanoPy.

print("Bonjour le monde !")

Si un nombre ou une variable est passé à la fonction print(), il est automatiquement converti en une chaîne de caractères (ou byte[]):

print(123) # "123"
a = 1.23
print(a) # "1.23"

Il est même possible de mélanger des textes et des chiffres ou des variables:

v = vector(x=5,y=10)
print("x = " + v.x + "; y = " + v.y) # "x = 5.0; y = 10.0"

setAutostart

  setAutostart()

Si la fonction Autostart a été activée, le redémarrage de l’Oxocard (après la connexion à Internet) permet de passer directement au programme de démarrage.

setAutostart(true)
setAutostart(false)

turnOff

  turnOff()

Éteignez l’Oxocard.

sleep

  sleep(sec:long)

Éteint l’Oxocard et le fait redémarrer après x secondes.

isConnected

  isConnected()->bool

Renvoie true si la carte est connectée à Internet.

ipAddress

  ipAddress()->byte[16]

Renvoie l’adresse IP actuelle sous forme de chaîne (byte array).
Si la carte n’est pas connectée à Internet, “0.0.0.0” est renvoyé.

ipAddress() # => "192.168.42.164"

backlight

  backlight(value:float)

Active (value=1) ou désactive (value=0) le rétroéclairage de l’écran TFT.

Avec des valeurs entre 0 et 1 (par ex. 0.1), l’écran TFT peut également être atténué.

Attention ! Comme l’œil humain ne perçoit pas la lumière de manière linéaire (mais logarithmique), ce n’est qu’avec des valeurs plus faibles que l’on remarquera une différence marquante.

background(0, 255, 0)
drawText(60, 80, "Test123")
update()
for i in 20:
    backlight(1.0 - 0.05*i)
    delay(500)

runScript

  runScript(path:byte[])

Lance un script précédemment téléchargé ou enregistré sous forme de fichier.

Le script actuel est arrêté et remplacé par le nouveau script.

Si le script n’existe pas, une erreur d’exécution “fichier introuvable” est générée.

Les scripts téléchargés sont placés dans le dossier “user_scripts”. Le nom du fichier correspond au nom dans l’éditeur, par exemple “My downloaded script”.

runScript("user_scripts/My downloaded script")

Exemple de fichier:

if fileExists("hello.tc"):
    deleteFile("hello.tc")

open(C_WRITE, "hello.tc")
code = "drawText(35, 10, \"Hello World!\")\nupdate()"
i = 0
ch = code[i]
while ch != 0:
    writeByte(ch)
    i++
    ch = code[i]
close()

runScript("hello.tc")

textInput

  textInput(title:byte[], text:byte[])->byte[120]

Ouvre un champ de saisie de texte et renvoie le texte saisi dès que l’icône OK est sélectionnée et confirmée.

str = textInput("Test", "123")
print(str)

getHardwareType

  getHardwareType()->byte

Renvoie le type d’oxocard actuellement utilisé.

C_HW_GALAXY = 0
C_HW_ARTWORK = 1
C_HW_SCIENCE = 2
C_HW_SCIENCE_PLUS = 3
C_HW_CONNECT = 4

getLanguage

  getLanguage()->byte

Renvoie la langue du système actuellement définie.

Langues disponibles:

C_LANGUAGE_EN
C_LANGUAGE_DE
C_LANGUAGE_FR

setLanguage

  setLanguage(lang:byte)

Définit la langue du système de l’appareil.

Langues disponibles:

C_LANGUAGE_EN
C_LANGUAGE_DE
C_LANGUAGE_FR

isCartridgeConnected

  isCartridgeConnected()

Seulement Oxocard Connect

Retourne true si une cartridge est connectée, false sinon

isCartridgeEmpty

  isCartridgeEmpty()

Seulement Oxocard Connect

Retourne true si la Cartridge connectée n’a pas de script flashé sur la mémoire, false si un script est défini.

pauseCartridgeDetection

  pauseCartridgeDetection()

Seulement Oxocard Connect

Interrompre la détection automatique des Cartridges. Si la détection des Cartridges est désactivée, le script de démarrage automatique ne démarrera pas.

resumeCartridgeDetection

  resumeCartridgeDetection()

Seulement Oxocard Connect

Reprend la détection si une Cartridge est connectée. Si la détection est activée, le script de démarrage automatique s’exécutera si un script est défini sur la Cartridge.

getSystemTime

  getSystemTime()

Renvoie le temps en microsecondes depuis le démarrage du système. Cette fonction est utile pour mesurer le temps entre deux mesures.

t1 = getSystemTime()
# Code
t2 = getSystemTime()
delta = t2 - t1

wifiPause()

  wifiPause()

Cette fonction interrompt la communication WiFi jusqu’à l’appel de wifiResume().

Attention: après l’appel, la connexion au serveur est interrompue. Il n’est donc plus possible de transmettre des scripts.

wifiResume()

  wifiResume()

Cette fonction permet de rétablir la connexion Wifi après l’avoir interrompue avec wifiPause().

storeDisplay

Les nouvelles fonctions storeDisplay() et resumeDisplay() permettent d’enregistrer temporairement le contenu actuel de l’écran. storeDisplay() enregistre l’état actuel. Avec resumeDisplay(), le contenu est à nouveau transféré dans la mémoire d’écran.

Cette fonction permet par exemple de construire un menu superposé sans avoir à redessiner l’arrière-plan à chaque fois.

resumeDisplay

Les nouvelles fonctions storeDisplay() et resumeDisplay() permettent d’enregistrer temporairement le contenu actuel de l’écran. storeDisplay() enregistre l’état actuel. Avec resumeDisplay(), le contenu est à nouveau transféré dans la mémoire d’écran.

Cette fonction permet par exemple de construire un menu superposé sans avoir à redessiner l’arrière-plan à chaque fois.