applyDigitalLeds()
Donne les valeurs de couleur définies précédemment avec setDigitalLed() sur la broche sélectionnée avec initDigitalLeds().
applyDigitalLeds()
setDigitalLed(ledNr:byte, r:byte, g:byte, b:byte)
Définit la valeur de couleur (RVB) de la LED numérique sélectionnée.
setDigitalLed(0, 50, 255, 10)
initDigitalLeds(pinNr:byte, ledsCount:byte, ledType:byte)
Initialise le pin sélectionné de manière à ce qu’un nombre défini de LED numériques du type souhaité (par exemple NeoPixels) puisse être placé.
Types de DEL:
C_LED_TYPE_WS2812
C_LED_TYPE_WS2812B
C_LED_TYPE_WS2812B_MINI
C_LED_TYPE_WS2813
C_LED_TYPE_WS2814
C_LED_TYPE_SK6812
initDigitalLeds(C_PIN_01, 12, C_LED_TYPE_WS2812B)
getI2CByteAddrSize()->byte
Renvoie la taille du type de données actuellement utilisé pour le byteAddr.
setI2CByteAddrSize(size:byte)
Définit la taille du type de données du byteAddr utilisé pour les fonctions I2C. Elle est généralement de 1 (0… 255), mais peut aussi être de 2 (0… 65535) pour certains appareils.
checkI2CAddress(slaveAddr:byte)->bool
Renvoie true si un appareil avec un slaveAddr défini a été trouvé et false sinon.
setPWMDutyCycleResolution(res:byte)
Définit la résolution PWM utilisée: 0… 20bit (par défaut: 12bit)
setPWMDutyCycleResolution(12)
setPWMFrequency(freq:long)
Définit la fréquence PWM utilisée: 10… 9765 Hz (13bit) ou 19… 19531 Hz (12bit) ou 38… 39062 Hz (11bit) etc. (par défaut: 500Hz)
setPWMFrequency(1000)
writePWM(pinNr:byte, dutyCycleValue:long)
Délivre sur le GPIO sélectionné un signal PWM de 500Hz avec une valeur dutyCycle définie de 0 (0%) à 4096 (100% à 12bit).
writePWM(C_PIN_01, 2048) # 50%
writeDAC(pinNr:byte, value:byte)
Uniquement Oxocard-Connect
Émet un signal de tension analogique entre 0 (0) et 3,3V (255) sur le GPIO sélectionné (C_PIN_02 ou C_PIN_03).
writeDAC(C_PIN_02, 127)
setI2CReadBufferIndex(index:int)
Définit le readBufferIndex interne sur la valeur souhaitée.
Cela permet de relire une valeur lue précédemment.
readI2C(0x4C, 0x0D, 6) # accel raw X, Y & Z axis
xRaw = getI2CInt()
setI2CReadBufferIndex(0)
xRaw = getI2CInt()
yRaw = getI2CInt()
zRaw = getI2CInt()
getI2CLong()->long
Renvoie un long précédemment lu avec readI2C().
L’index interne readBufferIndex est augmenté de 4.
getI2CInt()->int
Renvoie un integer lu précédemment avec readI2C().
L’index interne readBufferIndex est augmenté de 2.
getI2CByte()->byte
Renvoie un byte lu précédemment avec readI2C().
L’index interne readBufferIndex est augmenté de 1.
readI2C(slaveAddr:byte, byteAddr:int, size:int)
Lit un nombre quelconque des bytes (size) d’un esclave I2C défini (7bit slaveAddr) et d’un registre (byteAddr).
Si byteAddr est -1, le data est lu directement après la transmission de slaveAddr.
Les fonctions getI2C permettent ensuite de renvoyer les données lues.
readI2C(0x4C, 0x0D, 6) # accel raw X, Y & Z axis
xRaw = getI2CInt()
yRaw = getI2CInt()
zRaw = getI2CInt()
readI2CLong(slaveAddr:byte, byteAddr:int)->long
Lit un long (4 bytes) d’un esclave I2C défini (7bit slaveAddr) et d’un registre (byteAddr).
Si byteAddr est -1, le data est lu directement après la transmission de slaveAddr.
ir = readI2CLong(0x52, 0x0A) # valeur IR (3 bytes + 1 inutilisé)
ir = ir & 0x00FFFFFF # Masquage des 3 premiers octets
readI2CInt(slaveAddr:byte, byteAddr:int)->int
Lit un entier (2 bytes) d’un esclave I2C défini (7bit slaveAddr) et d’un registre (byteAddr).
Si byteAddr est -1, le data est lu directement après la transmission de slaveAddr.
readI2CInt(0x4C, 0x0D) # accel raw X axis (16bit)
readI2CByte(slaveAddr:byte, byteAddr:int)->byte
Lit un byte d’un esclave I2C défini (7bit slaveAddr) et du registre (byteAddr).
Si byteAddr est -1, le data est lu directement après la transmission de slaveAddr.
readI2CByte(0x4C, 0x18) # accel ID => 164
writeI2C(slaveAddr:byte, byteAddr:int, size:int, data:byte[])
Ecrit un nombre quelconque des bytes (size) d’un esclave I2C défini (7bit slaveAddr) et d’un registre (byteAddr).
data = [0x11, 0x22, 0x33]
writeI2C(0x2C, 0x05,3, data)
writeI2CLong(slaveAddr:byte, byteAddr:int, data:long)
Ecrit un long (4 bytes) d’un esclave I2C défini (7bit slaveAddr) et d’un registre (byteAddr).
writeI2CLong(0x2C, 0x05, 0x42133742)
writeI2CInt(slaveAddr:byte, byteAddr:int, data:int)
Ecrit un entier (2 bytes) d’un esclave I2C défini (7bit slaveAddr) et d’un registre (byteAddr).
writeI2CInt(0x2C, 0x05, 0x1337)
writeI2CByte(slaveAddr:byte, byteAddr:int, data:byte)
Ecrit un Byte d’un esclave I2C défini (7bit slaveAddr) et du registre (byteAddr).
writeI2CByte(0x4C, 0x08, 0x13) # accel sample rate = 100Hz
readADC(pinNr:byte, nSamples:long)->int
Lit la valeur analogique de pinNr 32 ou 33 plusieurs fois (nSamples) et fait une moyenne.
La tension de référence réglée est de ~2600mV (11dB d’atténuation).
La valeur renvoyée se situe entre 0 et 4095 (12 bits).
readADC(32, 100)
readADC(33, 1000)
readGPIO(pinNr:byte)->bool
Lit l’état d’un GPIO préalablement initialisé comme INPUT(_PULLUP/DOWN).
initGPIO(32, INPUT_PULLDOWN)
readGPIO(32) # false (0)
readGPIO(32) # true (1) si connecté à 3.3V
writeGPIO(pinNr:byte, state:bool)
Définit l’état d’un GPIO préalablement initialisé en tant que OUTPUT.
initGPIO(32, OUTPUT)
writeGPIO(32, 1) # HIGH
writeGPIO(32, 0) # LOW
initGPIO(pinNr:byte, mode:byte)
Initialise le GPIO sélectionné (analog pinMode) avec l’un des modes suivants:
OUTPUT
INPUT
INPUT_PULLUP
INPUT_PULLDOWN
Constantes pinNr disponibles:
C_PIN_01 (20*)
C_PIN_02 (25*)
C_PIN_03 (26*)
C_PIN_04 (32)
C_PIN_05 (33)
C_PIN_06 (34*)
C_PIN_07 (35*)
C_PIN_MISO (8)
C_PIN_MOSI (5)
C_PIN_SCK (7)
C_PIN_SDA (21*)
C_PIN_SCL (22*)