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
_____________________________________________________________________________
_____________________________________________________________________________