Ajout du core tinylulu pour tinylulu et twinylulu.
Ajout de l'exemple arpschuino_i2c_master, pour le controle en I2c des arpsensors, tiny et twinylulu (pour arpschuino²).
Ajout de l'exemple arpsensors_i2c_9on_off.
Revision du code arpschuino-2spider-boards pour alleger le bus I2C.
_____________________________________________________________________________
Dans l'exemple arpschuino_4steppers, le nombre de circuits DMX était fixé à 8 au lieu de 9, ce qui empéchait le controle de la vitesse du 4e moteur.
arpschuino_pixels déplacé dans les exemples arpschuino.
Ajout de la library SoftwareServo pour les arpsensors et arpsensors RF et de l'exemple arpsensorsRF_servo.
_____________________________________________________________________________
Ajout de #define DMX ArduinoDmx0 dans la librairie DMX, son oubli empechait l'usage de la nouvelle syntaxe et les exemples de la librairie arpstepper ne compilaient pas.
Ajout de l'exemple arpschuino_pixels dans les exemples de la librairie neo pixel.
_____________________________________________________________________________
Ajout de la librairie ArpStepper.
Ajout de la librairie digitalWriteFast, nécéssaire à la lib ArpStepper.
Ajout de l'exemple : JNode1PWM_high_resolution.
En-tête et mise en page des autres codes JNodes revus.
Mise à jour de la library NeoPixel.
Nouvelle syntaxe dans la lib DMX : on peut maintenant écrire DMX. (DMX.init_rx(DMX512) par exemple), à la pace de ArduinoDmx0.. l'ancienne syntaxe reste valide.
_____________________________________________________________________________
Ajout de l'exemple : arpschuino_servo
Exemple arpsensorsRF : arpsensorsRFsend5analog : debug, ajout d'une initialisation de Arp5 en output
Suppression de arpschuino_16_soft_PWM. Doublon précédemment remplacé par arpschuino_16_softPWM (compatible avec la nouvelle version de softPWM)
Suppression de notes-de-versions.txt (en doublon avec Version.md)
_____________________________________________________________________________
uint8_t band remplacé par uint16_t band (risque de débordement)
Wire.setClock(400000); commenté par défaut (risque de conflit avec d'autres periphériques I²C)
_____________________________________________________________________________
Afin de préserver les accus li-ion, la wilulu se met en veille si la tension d'alimentation descend sous 2.9v
calcul_freq remplacé par: rf12_calcul_freq
uint8_t twbrbackup = TWBR; supprimé car inutile
TWBR = 12; remplacé par Wire.setClock(400000); plus lisible!
Pour une meilleure intelligibilité :
arpsensors_to_dmx devient : arpschuino_arpsensors_to_dmx
arpsensors_to_serial devient : arpschuino_arpsensors_to_serial
_____________________________________________________________________________
nouveaux noms :
adress = address
led_temoin() = Arp_led_temoin ()
arpdress_board() = Arp_arpdress_board()
(les anciens noms restent valides)
nouvelles fonctions :
Arp_arpdress_board(); // prend l'adresse depuis l'arpdress board, l'écrit dans l'EEPROM. Retourne l'adresse lue.
Arp_write_dmx_address(); // écrit l'adresse dans l'eeprom, retourne 0 si l'adresse n'est pas conforme, 1 sinon
Arp_read_dmx_address(); // lit l'eeprom, retourne l'adresse DMX
Arp_default_EEPROM(); // met les valeurs par défaut dans l'eeprom
nouveau :
Dans la fonction Arp_arpdress_board(), l'eeprom n'est réécrite qu'en cas de changement d'adresse.
En cas d'adresse non conforme, l'adresse n'est pas changée; (précédemment, adresse 001 en cas d'adresse non conforme)
la fonction retourne l'adresse lue.
Changement de fréquence possible dans tous les exemples avec RF12.
nouveaux exemples :
aprschuino2PWM_high_résolution : 2 output en pwm sorties 9 et 10 (Arp5 et 6), resolution variable de 8 à 16 bit
artefact_transceiver
exemple retiré :
one_emeter_with_Ack
arpdress board layout :
Mise en place d'une convention pour l'utilisation des adresses autres que 1>512 :
adresse | fonction |
0 | --------------------- |
001-512 | DMX start address |
513 | RFM12 receiver mode |
514-601 | --------------------- |
602-666 | NOMBRE DE CIRCUITS n-600 Circuits |
667-739 | --------------------- |
740-760 | frequency fine |
761-867 | --------------------- |
868 | RF12_868MHZ frequency range |
869-914 | --------------------- |
915 | RF12_915MHZ frequency range |
916-998 | --------------------- |
999 | reload default |
Nouvelles fonctions :
rf12_read_EEPROM_band(); lit la bande de fréquence écrite dans l'EEPROM
rF12_read_EEPROM_frequency(); lit la fréquence écrite dans l'EEPROM
rF12_calcul_freq (float freq_set); transforme une fréquence écrite avec un nombre à 2 chiffres après la virgule
en valeur utilisable par la librairie.
Mise en place d'emplacements conventionnels pour les données stockées dans l'EEPROM.
Les emplacements de la library RF12 sont conservés.
EEPROM address | Function | format | value |
byte 0x000 | DMX address centaines | **** *nnn | 1 - 5 |
byte 0x001 | DMX address disaines | **** nnnn | 0 - 9 |
byte 0x002 | DMX address unites | **** nnnn | 0 - 9 |
byte 0x003 | Mode | **** ***n | 0 - 1 (0=emmeteur,1=recepteur) |
word 0x004 | Nombre de circuits (LSB) | nnnn nnnn | 0 - 255 |
word 0x005 | Nombre de circuits (MSB) | **** ***n | 0 - 1 |
byte 0x020 | Node number in bits | ***n nnnn | 1 - 30 |
Reserved | **0* **** | Reserved | |
Band to use | 00** **** | Don't use, unsupported 325 MHZ | |
Band to use | 01** **** | 433 MHZ 0x40 | |
Band to use | 10** **** | 868 MHZ 0x80 | |
Band to use | 11** **** | 915 MHZ 0xC0 | |
byte 0x021 | Group number | 1101 0100 | 212 // 0xD4 |
byte 0x022 | Eeprom format | MMMM mmmm | Major/minor version |
byte 0x023 | Hex output style | 01** **** | 1: Hex output, 2: hex+ascii |
Collect Mode | **1* **** | Don't send acks | |
Quiet mode | ***1 **** | Don't report bad packets | |
Reserved | **** 0000 | Reserved | |
word 0x024 | Frequency offset LSB | llll llll | Frequency offset word |
word 0x025 | Frequency offset MSB | MMMM mmmm | |
0x026 | Padded at the end with NUL | 0000 0000 | |
0x02D | Padded at the end with NUL | 0000 0000 | |
word 0x02E | CRC | CRC of values w/ offset 0x020-02F | |
word 0x02F | as above | ||
byte 0x030 | Reserved | ||
0x03F | as above | ||
byte 0x040 | Key storage for encryption algorithm | ||
0x04F | as above | ||
byte 0x050 | Reserved | ||
0x400 | as above |
Retiré car obsolète et plus utilisé.
_____________________________________________________________________________
arpdress board retiré des exemples
ajout de la library arpPCA9685
ajout wilulu low power dans les exemples
ajout optiboot_atmega328.hex (pour éviter un warning à la compilation).
et empty84at8.hex
Debug exemples fonctions.h et .cpp supprimés (inclus dans la library).
Modif du fichier board.txt pour que la variante jeenode_jeelink soit reconnue.
Modif aussi de ArpRF12.cpp pour un bon fonctionnement avec les différentes cartes.
grada laps retiré
Jeenode_jeelink ajouté dans "variants"
library erpschuino, led_temoin() : n°pin remplacé par LED_BUILTIN (comptabilité avec les autre boards)
+ 2eme fonction led_temoin() avec argument (pin) pour les cartes sans LED_BUILTIN
led_temoin()retourne la valeur de var led
Dans arpdress_board() : TWBR=0;
TWCR=0; remplacé par Wire.end();(compatibilité)
la lib compile avec toute les cartes, led_temoin() compatible, arpdress_board() avec l'arpschuino uniquement
exemples arpschuino : fonctions.h et .cpp supprimés (inclu dans la library). n°pin remplacé par LED_BUILTIN, bitWrite remplacé par digitalWrite pour plus de lisibilité et compatibilité
exemple arpdress board nettoyé
exemples arpsensors, arpsensorsRF, wilulu, jeenode/jeelink corrigés, portage de la library
_____________________________________________________________________________
_____________________________________________________________________________